Class FavoriteController

java.lang.Object
com.raphaelsalles.backend.api.controller.FavoriteController

@RestController @RequestMapping("/api/favorites") public class FavoriteController extends Object
Controlador para gestão de Favoritos do usuário.

Papel na Arquitetura: Permite que o usuário logado gerencie sua lista de ativos de interesse.

Responsabilidades:
  • Adicionar e remover ativos da lista de favoritos.
  • Listar favoritos simples (apenas tickers).
  • Listar favoritos enriquecidos com dados de mercado (Dashboard).
  • Field Details

  • Constructor Details

  • Method Details

    • getAuthenticatedUser

      private User getAuthenticatedUser(org.springframework.security.core.Authentication authentication)
    • addFavorite

      @PostMapping("/{ticker}") public org.springframework.http.ResponseEntity<Void> addFavorite(@PathVariable String ticker, org.springframework.security.core.Authentication authentication)
      Adiciona um ativo aos favoritos do usuário.
      Parameters:
      ticker - O código do ativo (ex: PETR4).
    • removeFavorite

      @DeleteMapping("/{ticker}") public org.springframework.http.ResponseEntity<Void> removeFavorite(@PathVariable String ticker, org.springframework.security.core.Authentication authentication)
      Remove um ativo dos favoritos.
      Parameters:
      ticker - O código do ativo.
    • getFavorites

      @GetMapping public org.springframework.http.ResponseEntity<List<String>> getFavorites(org.springframework.security.core.Authentication authentication)
      Retorna a lista simples de tickers favoritos. Útil para marcar "estrelinhas" na interface.
    • getFavoritesForDashboard

      @GetMapping("/dashboard") public org.springframework.http.ResponseEntity<List<MarketDataDTO>> getFavoritesForDashboard(org.springframework.security.core.Authentication authentication)
      Retorna a lista de favoritos com dados de mercado completos (Preço, Variação). Usado na tela principal (Dashboard) do usuário.