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 Summary
Modifier and TypeMethodDescriptionvoidchangePassword(String userId, String newPassword) Método para alterar a senha do usuário.voidchangeUserName(String userId, String newUsername) Método para alterar o nome de usuário.createUser(String username, String email, UserProfile userProfile, String password) Método para criar usuário.getUserByEmail(String userEmail) Método para obter detalhes do usuário por email.getUserById(String userId) Método para obter detalhes do usuário.
-
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
UserContractinstância contendo detalhes do usuário. - Throws:
UserCreationFailureException- se ocorrer um erro ao criar o usuário.
-
getUserById
Método para obter detalhes do usuário.- Parameters:
userId- ID único do usuário.- Returns:
- A
UserContractinstância contendo detalhes do usuário. - Throws:
UserServiceFailureException- se ocorrer um erro ao buscar detalhes do usuário.
-
getUserByEmail
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
UserContractque 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:
UserContractUma instância deUserContractque 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
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
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.
-