public IActionResult ResetPassword([FromBody] User user) { if (user == null) { return(BadRequest("Invalid user: object was null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid user object sent from client"); return(BadRequest("Invalid user object sent from client")); } var dbUser = _repository.User.GetUserByEmail(user.Email); if (dbUser == null) { _logger.LogError($"User with email {user.Email} was not found"); return(BadRequest($"User with email {user.Email} was not found")); } var newPassword = AuthControllerExtensions.GenerateFirstPassword(); dbUser.Password = newPassword; _repository.User.ChangePassword(dbUser); _repository.Save(); _emailSender.SendEmailAsync(user.Email, "Your password for Studi App has been resetted.", $"<b>Your password: {newPassword}</b>"); return(Accepted()); }
public IActionResult Register([FromBody] User user) { if (User == null) { return(BadRequest("Object sent was null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid user: object state is not valid"); return(BadRequest("Invalid user: object state is not valid")); } if (!user.ValidateRegisterUser()) { return(BadRequest("Invalid user: Some properties were empty!")); } if (user.Email != null) { if (!AuthControllerExtensions.IsValidEmail(user.Email)) { return(BadRequest("Email format is not valid!")); } if (_repository.User.CheckIfExisting(user.Email)) { return(BadRequest("User with this email is already existing!")); } } if (!_repository.University.CheckIfExisting(user.University_Id)) { return(BadRequest("Choosen UniversityId was not found!")); } try { var userPwd = AuthControllerExtensions.GenerateFirstPassword(); user.Password = userPwd; _repository.User.RegisterUser(user); _repository.Save(); _emailSender.SendEmailAsync(user.Email, "Your password for Studi App", $"<b>Your password: {userPwd}</b>"); return(Accepted()); } catch (Exception e) { _logger.LogError($"Something went wrong inside Register action: {e.Message}"); return(StatusCode(500, "Internal server error")); } }