Example #1
0
        public async Task <Response <AuthInfoDTO> > SignUpMemberEmail(SignUpMemberDTO dto)
        {
            var signUpResult = await _service.SignUpMemberEmail(dto);

            if (!signUpResult.IsSuccess)
            {
                var errorResponse = (ErrorResponse <UserDTO>)signUpResult;

                return(new ErrorResponse <AuthInfoDTO>
                {
                    Message = errorResponse.Message,
                    Code = errorResponse.Code,
                    Errors = errorResponse.Errors,
                    HttpStatusCode = errorResponse.HttpStatusCode
                });
            }

            var resultToken = await _tokensService.Authenticate(new CredentialsDTO
            {
                Password = dto.Password,
                Email    = signUpResult.Data.Email
            });

            return(resultToken);
        }
Example #2
0
        public async Task <Response <UserDTO> > SignUpMemberEmail(SignUpMemberDTO dto)
        {
            var inviteResponse = await GetInviteByCode(dto.InviteCode);

            if (!inviteResponse.IsSuccess ||
                inviteResponse.Data == null ||
                inviteResponse.Data?.Code != dto.InviteCode ||
                inviteResponse.Data?.IsDeleted == true)
            {
                return(new SecurityErrorResponse <UserDTO>(new []
                {
                    new Error
                    {
                        Code = ErrorCodes.Security.InviteInvalid,
                        Message = ErrorMessages.Security.InviteInvalid
                    }
                }));
            }

            var invite = inviteResponse.Data;

            var createUserDTO = new UserCreateDTO()
            {
                Email            = invite.Email,
                Step             = RegistrationStep.EmailConfirmed,
                MembershipStatus = MembershipStatus.Member,
                SignUpBy         = SignUpType.Email
            };

            var createResponse = await _usersService.CreateUser(createUserDTO);

            if (!createResponse.IsSuccess)
            {
                return(createResponse);
            }

            var userDto = createResponse.Data;

            await _repository.SetRegistrationStep(userDto.Id, createUserDTO.Step, createUserDTO.MembershipStatus);

            await _usersService.SetPassword(userDto.Email, dto.Password);

            await _membershipService.ApplyInvite(userDto.Id, invite.EntityId, invite.EntityType);

            await _invitesService.ActivateInvite(userDto.Email, invite.EntityId);

            return(new Response <UserDTO>
            {
                Data = userDto
            });
        }
Example #3
0
 public async Task <Response <AuthInfoDTO> > SignUpMemberEmail([Required, FromBody] SignUpMemberDTO dto)
 {
     return(await _handler.SignUpMemberEmail(dto));
 }