public User InitializeUser(SignUpUI signUpUI) => new User { Id = Guid.NewGuid().ToString(), Name = signUpUI.Name, LastName = signUpUI.LastName, Email = signUpUI.Email, Password = signUpUI.Password, Age = signUpUI.Age, RegisteredDate = DateTime.UtcNow.ToString("yyyy-MM-dd"), Role = "user", Code = Guid.NewGuid().ToString() };
public IActionResult SignUp(SignUpUI signUpUI) { IActionResult response = BadRequest(new { message = "invalid data" }); if (signUpUI != null) { if (authService.EmailIsTaken(signUpUI.Email)) { response = UnprocessableEntity("email is already taken"); } else { User user = userService.InitializeUser(signUpUI); BackgroundJob.Enqueue(() => emailService.SendEmailAsync(user.Email, "Confirm Email", $"http://192.168.0.149:8080/confirm-email/{user.Id}/{user.Code}")); userService.SaveUser(user); response = Ok(new { user = userService.UserToUserUI(user), token = authService.BuildToken(user) }); } } return(response); }