Files
97ec4ff1a2 fix(honorarios): clique duplo nao paga duas vezes, lead e conta da propria empresa, export que falha nao sai incompleto
Os tres consertos que o dono pediu para o modulo entrar (doc 66 do #1578),
sobre o que o autor ja tinha feito:

1. Pagamento em dobro. A funcao ja trava a parcela com FOR UPDATE; faltava
   a idempotencia da rota. POST .../pagar passa por comIdempotencia
   (Idempotency-Key, recibo em idempotency_keys): o retry do MESMO pedido
   recebe o recibo do primeiro em vez de "ja paga", e a parcela entra no
   hash (mesma chave em outra parcela e conflito). A tela manda UMA chave
   por (parcela, conta) ate o pagamento terminar, entao o segundo clique
   leva a mesma chave. Recusa da funcao chega ao cliente como antes (422,
   404, 403), nunca como 500; conta_invalida vira 422.
2. A porta do administrador ja estava no AdminSidebar (o autor a pos);
   ganha a guarda que faltava: tests/unit/admin-navegacao-completude.test.ts
   reprova tela de primeiro nivel de /admin sem entrada no menu. O
   navegacao-completude so cobre app/app.
3. LGPD. O export ja trazia contratos e parcelas; agora um erro de leitura
   que nao seja "modulo nao instalado" lanca, e o worker retenta em vez de
   entregar ao titular um export sem o contrato como se fosse completo
   (ADR-0002 D8). Anonimizacao: as tabelas nao guardam dado pessoal (valores
   e o vinculo com o caso), nada a apagar.

Tambem: criar contrato confere que o lead e da propria organizacao (a FK
passa por cima da RLS); textos da tela de modulos com t() e linha es; os
fakes do sweep de silencio ganham o metodo do outro lado do merge.

Co-authored-by: nsbastosconsultoria <nsbastosconsultoria@gmail.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 11:20:19 -03:00
..