2.5 KiB
2.5 KiB
Registro de Otimizações da Sessão — Aprimoramento da IA
Data: 11/08/2026
Sessão / Contexto: Resolução de erro de "Acesso Negado — Você não possui permissão" ao acessar a rota pública /publico/painel-empresa/:token/avaliacao/:id do Qualifica.
📌 Principais Aprendizados e Regras Consolidadas
1. Distinção entre Eventos Operacionais/Notificações e Eventos de Status Macro
- A tabela
eventosregistra múltiplos tipos de eventos associados a uma avaliação (tabela_origem = 'avaliacoes'), incluindo tanto mudanças de status macro (rascunho,aberta,correcao_solicitada,aprovada,aprovada_ressalvas,reprovada,vencida,cancelada) quanto notificações/auditorias operacionais (alerta_prazo,acesso_painel,acesso_formulario). - Toda consulta SQL / Knex que determine o
statusAtualde uma avaliação a partir da tabelaeventosDEVE conter obrigatoriamente a restrição.whereIn("status", zStatusAvaliacaoMacro.options)(ou no SQL:AND ev.status IN (...)).
2. Validação Estrita de Schemas Zod em Rotas Públicas (zApiPublica)
- A rota pública
publico_painel_empresa_detalheepublica_formulario_perguntasutilizam o schemazStatusAvaliacaoMacropara validar o campostatus_avaliacaono payload de resposta. - Caso a consulta ao banco retorne um evento operacional como
'alerta_prazo', a validação Zod falha comZodError, forçando o wrapper da API a retornar{ eErro: true }. No frontend, isso se traduz no fallback de errotoken_invalido("Acesso Negado"), disfarçando um erro de schema do backend como uma falha de autenticação. - Regra: Todo valor retornado para o frontend em um campo validado por enum Zod DEVE ser sanitizado e validado defensivamente contra os membros do enum (
zStatusAvaliacaoMacro.options) antes de ser montado no objeto de resposta.
3. Tracing de Diagnóstico Prévia a Qualquer Modificação
- Conforme a regra
diagnostico-antes-correcao.md, o agente investigou a causa raiz testando os componentes isoladamente (Token JWT -> Zod schemazTokenPublico-> Query Knex -> Zod schemazApiPublica). Isso permitiu identificar exatamente a linha onde oZodErrorocorria (zStatusAvaliacaoMacro), evitando refatorações desnecessárias em autenticação ou rotas Vue Router.
🔍 Checklist de Verificação de Artefatos
- Artefatos dependentes revisados
- Nenhuma regra ficou implícita
- Referências cruzadas e linters validados (
pnpm run biome,npx tsx) - Contratos Zod preservados e validados estritamente