Interface UserEntityService

All Known Implementing Classes:
UserEntityServiceImpl

public interface UserEntityService
Definição da interface para o serviço que lida com operações relacionadas à entidade do usuário.
Since:
1.0.0
Author:
diegoneves
  • Method Details

    • searchUserByEmail

      UserContract searchUserByEmail(String email) throws UserEntityFailuresException
      Este método é usado para obter uma entidade de usuário pelo seu email. Primeiramente, o método verifica se o valor do parâmetro de email não é nulo ou vazio. Se o valor do email for nulo ou vazio, uma exceção UserEntityFailuresException é lançada ao usuário com uma mensagem de erro relevante.

      Se o email for válido, o método tentará encontrar uma entidade de usuário que corresponda ao email usando a interface UserRepository. Se não for encontrada uma entidade de usuário para o email fornecido, o método lançará uma exceção UserEntityFailuresException com uma mensagem de erro apropriada.

      Parameters:
      email - A string que representa o email do usuário que será procurado no repositório.
      Returns:
      A entidade do usuário correspondente ao email fornecido.
      Throws:
      UserEntityFailuresException - Se nenhuma entidade de usuário puder ser encontrada para o email fornecido ou o valor do email for nulo ou vazio.
    • createUserEntity

      Método para criar uma nova entidade do usuário. Primeiramente, verifica se a solicitação enviada está completa e se os valores de seus atributos estão de acordo com a regra de negócio da aplicação. Caso contrário, uma exceção UserEntityFailuresException é disparada com uma mensagem de erro detalhada.

      Se os dados fornecidos estiverem corretos, o método criará um novo registro de usuário no banco de dados usando a interface UserRepository. Ao final, um objeto UserEntityCreatedResponse é retornado contendo todos os dados do novo usuário criado.

      Parameters:
      request - O objeto UserEntityCreationRequest que contém os dados necessários para a criação do novo usuário.
      Returns:
      Um objeto UserEntityCreatedResponse contendo os dados do novo usuário criado.
      Throws:
      UserEntityFailuresException - Se os dados fornecidos na solicitação estão incompletos ou inconsistentes ou se ocorrer algum problema durante a criação do novo usuário no banco de dados.
    • findUserByEmail

      UserEntityCreatedResponse findUserByEmail(String email)
      Este método é usado para obter uma response de usuário pelo seu email.

      Se o email for válido, o método tentará encontrar uma entidade de usuário que corresponda ao email usando a interface UserRepository. Se não for encontrada uma entidade de usuário para o email fornecido, o método lançará uma exceção UserEntityFailuresException com uma mensagem de erro apropriada.

      Parameters:
      email - A string que representa o email do usuário que será procurado no repositório.
      Returns:
      Um objeto UserEntityCreatedResponse de um usuário correspondente ao email fornecido.
      Throws:
      UserEntityFailuresException - Se nenhuma entidade de usuário puder ser encontrada para o email fornecido ou o valor do email for nulo ou vazio.