Interface ShelterEntityService
- All Known Implementing Classes:
ShelterEntityServiceImpl
Esta interface fornece um contrato para a implementação de um serviço responsável por criar abrigos no sistema.
- Since:
- 1.0.0
- Author:
- diegoneves
-
Method Summary
Modifier and TypeMethodDescriptioncreateShelter(ShelterCreationRequest request) Este método é responsável por criar um novo abrigo no sistema.org.springframework.data.domain.Page<ShelterInformationResponse>findAll(org.springframework.data.domain.Pageable pageable) Método utilizado para encontrar todos os abrigos com paginação.findShelterByUserResponsibleEmail(String userResponsibleEmail) Método para encontrar um abrigo pelo email do responsável.receiveDonation(ReceiveDonationRequest request) Método para lidar com o recebimento de doações para um abrigo.
-
Method Details
-
createShelter
Este método é responsável por criar um novo abrigo no sistema. Ele recebe um objetoShelterCreationRequest, que contém as informações necessárias para criar o abrigo, como o nome do abrigo, o endereço e o e-mail do usuário responsável por criar o abrigo.- Parameters:
request- um objetoShelterCreationRequestcontendo as informações necessárias para criar um novo abrigo.- Returns:
- um objeto
ShelterCreatedResponsecontendo as informações do abrigo criado. - Throws:
ShelterEntityFailuresException- se ocorrer algum erro durante a criação do abrigo. Isso pode acontecer se o usuário responsável não for encontrado, se houver um erro na criação do endereço ou se houver um erro na criação do abrigo em si.
-
receiveDonation
Método para lidar com o recebimento de doações para um abrigo.Este método aceita um objeto
ReceiveDonationRequest, que contém o e-mail do responsável pela doação e uma lista de doações no formato DTO. O método processa estas doações, associa-as ao abrigo correspondente com base no e-mail fornecido e retorna uma resposta detalhando a doação recebida.O método busca o abrigo responsável pela doação usando o e-mail fornecido. Se o abrigo não for encontrado, o método retornará null para indicar que a doação não foi recebida.
Depois de encontrar o abrigo, o método procede à conversão dos
DonationDTOemDonationEntityque são então adicionados à lista de doações do abrigo. Finalmente, o abrigo atualizado é salvo no repositório.O método retorna um
ShelterInformationResponseque contém informações detalhadas sobre as doações recebidas, incluindo o nome do abrigo, o nome e e-mail do responsável e a lista de doações recebidas.- Parameters:
request- um objetoReceiveDonationRequestque contém as informações da doação.- Returns:
- um objeto
ShelterInformationResponseque contém informações das doações recebidas, ou null se o abrigo correspondente ao e-mail fornecido não for encontrado.
-
findShelterByUserResponsibleEmail
Método para encontrar um abrigo pelo email do responsável.Este método aceita um objeto
String, que contém o e-mail do responsável pelo abrigo, com base no e-mail fornecido, e retorna uma resposta detalhando as informações deste abrigo.O método retorna um
ShelterInformationResponseque contém informações detalhadas sobre o abrigo e as doações recebidas, incluindo o nome do abrigo, o nome e e-mail do responsável, e a lista de doações recebidas.- Returns:
- um objeto
ShelterInformationResponseque contém informações das doações recebidas. - Throws:
ShelterEntityFailuresException- se o usuário informado não for do tipo beneficiário ou não estiver cadastrado na base de dados. A mensagem de erro será incluída na exceção.
-
findAll
org.springframework.data.domain.Page<ShelterInformationResponse> findAll(org.springframework.data.domain.Pageable pageable) Método utilizado para encontrar todos os abrigos com paginação. Recupera uma página de informações de abrigos do sistema com base nas informações de paginação fornecidas. Este método é responsável por retornar uma lista paginada deShelterInformationResponse, que contém detalhes sobre os abrigos registrados no sistema.- Parameters:
pageable- um objetoPageableque define as informações de paginação, como número da página e tamanho da página, para controlar o retorno das informações de abrigos.- Returns:
- uma página de objetos
ShelterInformationResponsecontendo as informações dos abrigos.
-