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); }
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 }); }
public async Task <Response <AuthInfoDTO> > SignUpMemberEmail([Required, FromBody] SignUpMemberDTO dto) { return(await _handler.SignUpMemberEmail(dto)); }