Class AdminController
java.lang.Object
com.raphaelsalles.backend.api.controller.AdminController
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 Summary
FieldsModifier and TypeFieldDescriptionprivate final AssetMigrationServiceprivate final DataSyncServiceprivate final TermsRepositoryprivate final UserRepository -
Constructor Summary
ConstructorsConstructorDescriptionAdminController(DataSyncService dataSyncService, UserRepository userRepository, TermsRepository termsRepository, AssetMigrationService assetMigrationService) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<String> Limpa TODAS as tabelas de dados financeiros e cadastrais.org.springframework.http.ResponseEntity<String> Força a sincronização de dados da CVM em background.org.springframework.http.ResponseEntity<String> promoteToAdmin(String login) Promove um usuário comum a Administrador.org.springframework.http.ResponseEntity<TermsOfService> publishNewTerms(TermsOfService newTerm) Publica uma nova versão dos Termos de Serviço, desativando a anterior.org.springframework.http.ResponseEntity<String> Executa a migração de Empresas para a tabela de Assets.
-
Field Details
-
dataSyncService
-
userRepository
-
termsRepository
-
assetMigrationService
-
-
Constructor Details
-
AdminController
public AdminController(DataSyncService dataSyncService, UserRepository userRepository, TermsRepository termsRepository, AssetMigrationService assetMigrationService)
-
-
Method Details
-
forceSync
Força a sincronização de dados da CVM em background. Útil quando o scheduler falha ou se deseja dados imediatos. -
syncAssets
Executa a migração de Empresas para a tabela de Assets. Necessário após importações massivas de empresas novas. -
clearDatabase
Limpa TODAS as tabelas de dados financeiros e cadastrais. Ação destrutiva irreversível. -
promoteToAdmin
-
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.
-