Class MealService
java.lang.Object
br.com.receitaquedoimenos.ReceitaQueDoiMenos.services.MealService
A classe MealService fornece métodos para gerenciar operações relacionadas a refeições, incluindo criação,
recuperação, atualização e exclusão de refeições. Ela interage com o MealRepository e o UserRepository
para lidar com a persistência e recuperação de dados de refeições e usuários. Além disso, ela utiliza o
ForbiddenWordsValidator para garantir que as refeições sigam certas restrições de conteúdo.
- Since:
- 2023.2
- Version:
- 1.0
- Author:
- Pedro Henrique Pereira de Oliveira
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateMeal(MealRequestDTO mealRequestDTO) Cria uma nova refeição com base no MealRequestDTO fornecido, valida seu conteúdo e a associa ao usuário correspondente que a criou.voiddeleteMeal(String mealID, String userID) Exclui uma refeição especÃfica, garantindo que o usuário solicitante tenha a autorização necessária.getAll()Recupera uma lista de todas as refeições no sistema.getMealsById(String mealID) Recupera informações sobre uma refeição especÃfica com base em seu ID.getMealsByName(String name) Recupera uma lista de refeições com o nome especificado.getMealsByTypeMeal(TypeMeal typeMeal) Recupera uma lista de refeições do tipo especificado.updateMealInfo(String mealID, String userID, MealRequestDTO mealRequestDTO) Atualiza as informações de uma refeição especÃfica, validando o conteúdo e garantindo que o usuário solicitante tenha a autorização necessária.
-
Constructor Details
-
MealService
public MealService()
-
-
Method Details
-
createMeal
Cria uma nova refeição com base no MealRequestDTO fornecido, valida seu conteúdo e a associa ao usuário correspondente que a criou. Retorna a refeição criada como um MealResponseDTO.- Parameters:
mealRequestDTO- O DTO contendo informações para criar a refeição.- Returns:
- A refeição criada como um MealResponseDTO.
- Throws:
DataNotFoundException- Se o usuário criador não for encontrado.
-
getAll
Recupera uma lista de todas as refeições no sistema.- Returns:
- Uma lista contendo todas as refeições no sistema.
-
getMealsByName
Recupera uma lista de refeições com o nome especificado.- Parameters:
name- O nome das refeições a serem recuperadas.- Returns:
- Uma lista de refeições que correspondem ao nome especificado.
-
getMealsById
Recupera informações sobre uma refeição especÃfica com base em seu ID.- Parameters:
mealID- O ID da refeição a ser recuperada.- Returns:
- Informações sobre a refeição especificada como um MealResponseDTO.
- Throws:
DataNotFoundException- Se a refeição com o ID especificado não for encontrada.
-
getMealsByTypeMeal
Recupera uma lista de refeições do tipo especificado.- Parameters:
typeMeal- O tipo de refeições a serem recuperadas.- Returns:
- Uma lista de refeições que correspondem ao tipo especificado.
-
updateMealInfo
Atualiza as informações de uma refeição especÃfica, validando o conteúdo e garantindo que o usuário solicitante tenha a autorização necessária. Retorna a refeição atualizada como um MealResponseDTO.- Parameters:
mealID- O ID da refeição a ser atualizada.userID- O ID do usuário que está fazendo a solicitação de atualização.mealRequestDTO- O DTO contendo as informações atualizadas para a refeição.- Returns:
- A refeição atualizada como um MealResponseDTO.
- Throws:
UnauthorizedOperationException- Se a operação de atualização não for autorizada para o usuário solicitante.DataNotFoundException- Se a refeição com o ID especificado não for encontrada.
-
deleteMeal
Exclui uma refeição especÃfica, garantindo que o usuário solicitante tenha a autorização necessária.- Parameters:
mealID- O ID da refeição a ser excluÃda.userID- O ID do usuário que está fazendo a solicitação de exclusão.- Throws:
UnauthorizedOperationException- Se a operação de exclusão não for autorizada para o usuário solicitante.DataNotFoundException- Se a refeição com o ID especificado não for encontrada.
-