Interface UserServiceContract

All Known Implementing Classes:
UserService

public interface UserServiceContract
Interface para o contrato de serviço do usuário. Define os métodos funcionais para todos os serviços de usuário.
Since:
1.0.0
Author:
diegoneves
  • Method Details

    • createUser

      UserContract createUser(String username, String email, UserProfile userProfile, String password) throws UserCreationFailureException
      Método para criar usuário.
      Parameters:
      username - nome de usuário exclusivo.
      email - e-mail do usuário.
      userProfile - perfil do usuário.
      password - senha da conta do usuário.
      Returns:
      Um UserContract instância contendo detalhes do usuário.
      Throws:
      UserCreationFailureException - se ocorrer um erro ao criar o usuário.
    • getUserById

      UserContract getUserById(String userId)
      Método para obter detalhes do usuário.
      Parameters:
      userId - ID único do usuário.
      Returns:
      A UserContract instância contendo detalhes do usuário.
      Throws:
      UserServiceFailureException - se ocorrer um erro ao buscar detalhes do usuário.
    • getUserByEmail

      UserContract getUserByEmail(String userEmail)
      Método para obter detalhes do usuário por email.

      Este método é usado quando precisamos encontrar um usuário especificamente pelo seu endereço de e-mail. Isso é útil, por exemplo, quando um usuário esquece seu nome de usuário e só pode fornecer um e-mail. Este método retorna um objeto UserContract que contém todos os detalhes do usuário.

      É importante garantir que o e-mail fornecido para este método seja válido e existente na base de dados. Se o e-mail fornecido não estiver associado a nenhum usuário, este método retornará null.

      Parameters:
      userEmail - O endereço de e-mail do usuário que está sendo procurado.
      Returns:
      UserContract Uma instância de UserContract que contém os detalhes do usuário procurado. Se nenhum usuário for encontrado com o e-mail fornecido, este método retornará null.
    • changePassword

      void changePassword(String userId, String newPassword)
      Método para alterar a senha do usuário.
      Parameters:
      userId - ID único do usuário.
      newPassword - Nova senha do usuário.
      Throws:
      UserServiceFailureException - se ocorrer um erro ao alterar a senha do usuário.
    • changeUserName

      void changeUserName(String userId, String newUsername)
      Método para alterar o nome de usuário.
      Parameters:
      userId - ID único do usuário.
      newUsername - Novo nome de usuário.
      Throws:
      UserServiceFailureException - se ocorrer um erro ao alterar o nome de usuário.