java.lang.Object
br.com.receitaquedoimenos.ReceitaQueDoiMenos.controllers.UserController

@RestController @RequestMapping("/user") public class UserController extends Object
Controlador REST para gerenciar operações relacionadas a usuários, incluindo informações de perfil, receitas e curtidas.
  • Constructor Details

    • UserController

      public UserController()
  • Method Details

    • getInfo

      @Transactional @GetMapping("/info/{userID}") public org.springframework.http.ResponseEntity<UserResponseDTO> getInfo(@PathVariable String userID)
      Recupera informações sobre um usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      Returns:
      ResponseEntity contendo as informações do usuário se encontrado, ou uma resposta de erro se não encontrado.
    • getCreatedMealsInfo

      @Transactional @GetMapping("/createdRecipes/{userID}") public org.springframework.http.ResponseEntity<List<MealResponseDTO>> getCreatedMealsInfo(@PathVariable String userID)
      Recupera as receitas criadas por um usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      Returns:
      ResponseEntity contendo a lista de refeições criadas se encontradas, ou uma resposta de erro se não encontradas.
    • getFavoriteMealsInfo

      @Transactional @GetMapping("/favoriteRecipes/{userID}") public org.springframework.http.ResponseEntity<List<MealResponseDTO>> getFavoriteMealsInfo(@PathVariable String userID)
      Recupera as receitas favoritas do usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      Returns:
      ResponseEntity contendo a lista de refeições criadas se encontradas, ou uma resposta de erro se não encontradas.
    • getCreatedDrinksInfo

      @Transactional @GetMapping("/createdDrinks/{userID}") public org.springframework.http.ResponseEntity<List<DrinkResponseDTO>> getCreatedDrinksInfo(@PathVariable String userID)
      Recupera os drinks criados do usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      Returns:
      ResponseEntity contendo a lista de refeições criadas se encontradas, ou uma resposta de erro se não encontradas.
    • getFavoriteDrinksInfo

      @Transactional @GetMapping("/favoriteDrinks/{userID}") public org.springframework.http.ResponseEntity<List<DrinkResponseDTO>> getFavoriteDrinksInfo(@PathVariable String userID)
      Recupera os drinks favoritos do usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      Returns:
      ResponseEntity contendo a lista de refeições criadas se encontradas, ou uma resposta de erro se não encontradas.
    • updateProfileInfo

      @Transactional @PutMapping("/profile/{userID}") public org.springframework.http.ResponseEntity<UserResponseDTO> updateProfileInfo(@PathVariable String userID, @RequestBody @Valid @Valid UserRequestDTO userRequestDTO)
      Atualiza as informações do perfil do usuário com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário.
      userRequestDTO - Informações atualizadas do usuário.
      Returns:
      ResponseEntity contendo as informações do usuário atualizadas se bem-sucedidas, ou uma resposta de erro se não.
    • deleteUser

      @Transactional @DeleteMapping("/{userID}") public org.springframework.http.ResponseEntity<Void> deleteUser(@PathVariable String userID)
      Exclui o perfil de um usuário junto com refeições e drinks associados com base no ID do usuário fornecido.
      Parameters:
      userID - O ID do usuário a ser excluído.
      Returns:
      ResponseEntity com um status de sucesso se o usuário for excluído, ou uma resposta de erro se não encontrado.
    • likeMeal

      @Transactional @PutMapping("likeMeal/{userID}/{mealID}") public org.springframework.http.ResponseEntity<Void> likeMeal(@PathVariable String userID, @PathVariable String mealID)
      Curtir uma refeição em nome de um usuário.
      Parameters:
      userID - O ID do usuário realizando a curtida.
      mealID - O ID da refeição a ser curtida.
      Returns:
      ResponseEntity com um status de sucesso se a operação de curtida for bem-sucedida, ou uma resposta de erro se não.
    • unlikeMeal

      @Transactional @PutMapping("unlikeMeal/{userID}/{mealID}") public org.springframework.http.ResponseEntity<Void> unlikeMeal(@PathVariable String userID, @PathVariable String mealID)
      Descurtir uma refeição previamente curtida em nome de um usuário.
      Parameters:
      userID - O ID do usuário realizando a descurtida.
      mealID - O ID da refeição a ser descurtida.
      Returns:
      ResponseEntity com um status de sucesso se a operação de descurtida for bem-sucedida, ou uma resposta de erro se não.
    • likeDrink

      @Transactional @PutMapping("likeDrink/{userID}/{drinkID}") public org.springframework.http.ResponseEntity<Void> likeDrink(@PathVariable String userID, @PathVariable String drinkID)
      Curtir uma bebida em nome de um usuário.
      Parameters:
      userID - O ID do usuário realizando a curtida.
      drinkID - O ID da bebida a ser curtida.
      Returns:
      ResponseEntity com um status de sucesso se a operação de curtida for bem-sucedida, ou uma resposta de erro se não.
    • unlikeDrink

      @Transactional @PutMapping("unlikeDrink/{userID}/{drinkID}") public org.springframework.http.ResponseEntity<Void> unlikeDrink(@PathVariable String userID, @PathVariable String drinkID)
      Descurtir uma bebida previamente curtida em nome de um usuário.
      Parameters:
      userID - O ID do usuário realizando a descurtida.
      drinkID - O ID da bebida a ser descurtida.
      Returns:
      ResponseEntity com um status de sucesso se a operação de descurtida for bem-sucedida, ou uma resposta de erro se não.