Class AdminController

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

@RestController @RequestMapping("/api/painel-gestao") public class AdminController extends Object
Controlador administrativo para gestão do sistema.

Papel na Arquitetura: Exclusivo para usuários com role ADMIN. Permite operações críticas de manutenção, sincronização de dados e gestão de usuários.

Responsabilidades:
  • Disparar sincronização manual de dados da CVM.
  • Executar migrações de dados (Empresas -> Assets).
  • Limpar base de dados (Reset).
  • Promover usuários a administradores.
  • Publicar novos Termos de Serviço.
  • Field Details

  • Constructor Details

  • Method Details

    • forceSync

      @PostMapping("/sync") public org.springframework.http.ResponseEntity<String> forceSync()
      Força a sincronização de dados da CVM em background. Útil quando o scheduler falha ou se deseja dados imediatos.
    • syncAssets

      @PostMapping("/sync-assets") public org.springframework.http.ResponseEntity<String> syncAssets()
      Executa a migração de Empresas para a tabela de Assets. Necessário após importações massivas de empresas novas.
    • clearDatabase

      @DeleteMapping("/database") public org.springframework.http.ResponseEntity<String> clearDatabase()
      Limpa TODAS as tabelas de dados financeiros e cadastrais. Ação destrutiva irreversível.
    • promoteToAdmin

      @PostMapping("/promote/{login}") public org.springframework.http.ResponseEntity<String> promoteToAdmin(@PathVariable String login)
      Promove um usuário comum a Administrador.
      Parameters:
      login - O login (email) do usuário.
    • publishNewTerms

      @PostMapping("/terms") public org.springframework.http.ResponseEntity<TermsOfService> publishNewTerms(@RequestBody TermsOfService newTerm)
      Publica uma nova versão dos Termos de Serviço, desativando a anterior.
      Parameters:
      newTerm - O novo objeto de termos.