Class WalletController

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

@RestController @RequestMapping("/api/wallets") public class WalletController extends Object
Controlador para gestão de Carteira 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 ativos da carteira.
  • Listar ativos da carteira simples (apenas tickers).
  • Listar ativos da carteira enriquecidos com dados de mercado (Dashboard).
  • Field Details

  • Constructor Details

  • Method Details

    • getAuthenticatedUser

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

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

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

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

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