public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { var userForRegister = mapper.Map <User>(userForRegisterDto); if (await authService.Register(userForRegister, userForRegisterDto.Password)) { await rolesService.AdmitRole(userForRegister, RoleName.User); var callbackUrl = await authService.GenerateEmailConfirmationCallbackUrl(userForRegister); if (await emailSender.SendEmail(StaticExpressions.ConfirmationEmail(userForRegister.Email, userForRegister.UserName, callbackUrl))) { var user = mapper.Map <UserAuthDto>(userForRegister); return(Accepted(user)); } return(StatusCode(503, "Wystąpił błąd podczas wysyłania maila aktywacyjnego. Spróbuj wysłać maila ponownie")); } throw new AuthorizationException("Wystąpił problem podczas rejestracji"); }
public async Task <IActionResult> ResendConfirmationEmail([FromForm] string email) { var user = await authService.GetUserByEmail(email); if (user == null) { throw new EntityNotFoundException("Taki użytkownik nie istnieje"); } if (user.EmailConfirmed) { return(BadRequest("Twoje konto jest już aktywowane")); } var callbackUrl = await authService.GenerateEmailConfirmationCallbackUrl(user); if (await emailSender.SendEmail(StaticExpressions.ConfirmationEmail(user.Email, user.UserName, callbackUrl))) { return(Accepted()); } throw new AuthorizationException("Wystąpił błąd podczas wysyłania linka potwierdzającego email"); }