25 lines
1.8 KiB
Markdown
25 lines
1.8 KiB
Markdown
# Registro de Otimizações da Sessão — Aprimoramento da IA (Parte 2)
|
|
|
|
**Data:** 11/08/2026
|
|
**Sessão / Contexto:** Eliminação de erros de consulta à tabela removida `usuarios` (`select "codigo", "nome", "categoria"` - `code 42703`) e padronização da integração via SSO (`e-licencie.drive`).
|
|
|
|
---
|
|
|
|
## 📌 Principais Aprendizados e Regras Consolidadas
|
|
|
|
### 1. Gestão de Usuários e Perfis via `e-licencie.drive` (SSO)
|
|
- A tabela `usuarios` **não existe** no banco de dados PostgreSQL local dos schemas dos inquilinos. A identificação, listagem e auditoria de usuários (operadores e usuários externos da categoria `externo`) são providas exclusivamente pelo pacote `p-e-licencie-drive` (`eliDrive`).
|
|
- É **estritamente proibido** realizar chamadas `knex("usuarios")` ou `knex(enumTabelas.usuarios)`. Toda consulta de usuários em endpoints ou tarefas em segundo plano (CRON) deve invocar `eliDrive({ token }).listarUsuarios()`.
|
|
|
|
### 2. Tratamento de Depreciação e Tabela Undefined no Knex
|
|
- Ao chamar `knex(prop)` quando `prop` é `undefined`, o Knex executa `knex()` sem nome de tabela, emitindo o aviso de depreciação `calling knex without a tableName is deprecated. Use knex.queryBuilder() instead` e gerando queries SQL inválidas (`SELECT ...` sem cláusula `FROM`).
|
|
- Qualquer utilitário ou tabela que tenha sido removida do esquema deve ter suas referências completamente limpas da biblioteca `qualifica-comuns` (em `_tabelas_registros.ts`) para evitar que a chave acesse propriedades `undefined` via Proxy.
|
|
|
|
---
|
|
|
|
## 🔍 Checklist de Verificação de Artefatos
|
|
|
|
- [x] Artefatos dependentes revisados
|
|
- [x] Nenhuma regra ficou implícita
|
|
- [x] Referências cruzadas e linters validados (`pnpm run biome`, `npx tsx`)
|
|
- [x] Padrão `eliDrive` unificado em todas as rotas de listagem de eventos e tarefas de envio de e-mail
|