Adicionar Admin

Rafael Alves Lopes 2026-05-27 16:39:23 -03:00
parent 5f19a64f55
commit 5cfe2c7576

53
Admin.md Normal file

@ -0,0 +1,53 @@
# Modulo Admin
Base tecnica:
- Controller: `src/modules/admin/admin-access.controller.ts`
- Service: `src/modules/admin/admin-access.service.ts`
- Prefixo: `/admin/access`
## Responsabilidade
Sustenta o painel administrativo e parte do painel supervisor:
- opcoes de perfis e areas;
- overview mensal;
- ranking de atendentes;
- auditoria;
- usuarios e acessos;
- areas/especialidades;
- conteudos da IA.
## Endpoints principais
| Metodo | Rota | Descricao |
|---|---|---|
| GET | `/admin/access/options` | Lista perfis e areas ativas |
| GET | `/admin/access/overview` | Indicadores administrativos |
| GET | `/admin/access/ranking?areaId=` | Ranking de atendentes |
| GET | `/admin/access/audit?page=&limit=` | Eventos de auditoria |
| GET | `/admin/access/users` | Lista usuarios com perfis/areas |
| PUT | `/admin/access/users/:id` | Atualiza perfis e especialidades |
| GET | `/admin/access/areas` | Lista areas |
| POST | `/admin/access/areas` | Cria area |
| PUT | `/admin/access/areas/:id` | Atualiza area |
| DELETE | `/admin/access/areas/:id` | Desativa area |
| GET | `/admin/access/ai-contents` | Lista documentos da IA |
| GET | `/admin/access/ai-contents/:id/file` | Retorna arquivo base64 para download |
| POST | `/admin/access/ai-contents` | Adiciona documento da IA |
| DELETE | `/admin/access/ai-contents/:id` | Remove documento da IA |
## Funcoes importantes
- `getOptions()`: carrega perfis e areas para selects do frontend.
- `listUsers()`: monta usuario com `perfis`, `areas`, `perfilPrincipal`, `areaPrincipal` e `accessStatus`.
- `updateUserAccess()`: apaga e recria vinculos de perfil/especialidade em transacao.
- `listAiContents()`: lista metadados dos documentos da IA sem devolver o base64.
- `getAiContentFile()`: devolve o conteudo base64 para download.
- `logAudit()`: registra eventos administrativos quando chamado pelos fluxos.
## Code review
- `updateUserAccess()` e sensivel: deve exigir Admin.
- Conteudo IA hoje armazena base64 em banco; avaliar storage externo se os arquivos crescerem.
- Auditoria existe, mas nem toda acao sensivel ainda e auditada.