From 5cfe2c7576cf80fff8072dcea69c6e993f56cefa Mon Sep 17 00:00:00 2001 From: Rafael Alves Lopes Date: Wed, 27 May 2026 16:39:23 -0300 Subject: [PATCH] Adicionar Admin --- Admin.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Admin.md diff --git a/Admin.md b/Admin.md new file mode 100644 index 0000000..6f84f0d --- /dev/null +++ b/Admin.md @@ -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.