コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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 }));
        }