public ICommandResult Handle(UserCreateCommand command) { var user = new User(command.Username, command.Email, HashingBCrypt.HashPassword(command.Password)); if (!user.IsValid) { return(new GenericCommandResult(false, "Dados inválido", user.ValidationResult.Errors)); } _userRepository.Add(user); return(new GenericCommandResult(true, "Usuário cadastrado com sucesso", user)); }
public ICommandResult Handle(UserUpdatePassawordCommand command) { if (command.Password != command.ConfirmPassword) { return(new GenericCommandResult(false, "Confirmação de senha diferente da senha", null)); } var user = _userRepository.GetById(command.Id); user.UpdatePassword(HashingBCrypt.HashPassword(command.Password)); if (!user.IsValid) { return(new GenericCommandResult(false, "Dados inválido", user.ValidationResult.Errors)); } _userRepository.Update(user); return(new GenericCommandResult(true, "Senha do usuário atualizado com sucesso", null)); }
public ActionResult <dynamic> Authenticate([FromBody] AuthCommand command) { var user = _userRepository.GetByEmail(command.Email); if (user == null) { return(NotFound(new { message = "Usuário ou senha inválidos" })); } if (!HashingBCrypt.ValidatePassword(command.Password, user.Password)) { return(NotFound(new { message = "Usuário ou senha inválidos" })); } var token = TokenService.GenerateToken(user); user.HidePassword(); return(Ok(new { user = user, token = token })); }