public async Task <RegisterUserResponse> Register(CreateUserRegisterCommand createUserRegisterCommand) { try { createUserRegisterCommand.Email = createUserRegisterCommand.Email.ToLower(); if (await _authRepository.UserExists(createUserRegisterCommand.Email)) { return(new RegisterUserResponse("Email is already taken")); } var userToCreate = new User { Id = Guid.NewGuid(), Email = createUserRegisterCommand.Email }; _authRepository.Register(userToCreate, createUserRegisterCommand.Password); await _unitOfWork.Commit(); return(new RegisterUserResponse()); } catch (Exception ex) { return(new RegisterUserResponse($"An error occurred when registering the user: {ex.Message}")); } }
public async Task <IActionResult> Register([FromBody] CreateUserRegisterCommand createUserRegisterCommand) { var registerResult = await _mediator.Send(createUserRegisterCommand); if (!registerResult.Success) { return(BadRequest(new ErrorResource(registerResult.Message))); } var loginUserResource = _mapper.Map <CreateUserRegisterCommand, LoginUserCommand>(createUserRegisterCommand); var loginResult = await _mediator.Send(loginUserResource); if (!loginResult.Success) { return(BadRequest(new ErrorResource(loginResult.Message))); } Response.Headers.Add(Authorization, loginResult.Token); return(Ok()); }