Etapa 6 — Vendas, parcelas e dashboards

Adiciona o módulo sales: vendas com itens/parcelas em transação, transições
de status controladas (orçamento→confirmada→concluída, cancelamento em
cascata pras parcelas), edição só em orçamento, recebimentos (marcar-pago,
atualizar-atrasadas) e dashboards semanal/mensal/financeiro do tenant.

Corrige uma falha de isolamento entre tenants nas views de dashboard
(rodavam com privilégio do dono, ignorando RLS) via
security_invoker = true nas views, coberta por teste e2e dedicado.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-14 22:07:00 -03:00
co-authored by Claude Sonnet 5
parent 24b3bb9ae4
commit 7daaa16935
19 changed files with 1891 additions and 9 deletions
@@ -0,0 +1,9 @@
import { venda_status } from '@prisma/client';
import { IsIn } from 'class-validator';
const STATUS_DESTINO: venda_status[] = ['confirmada', 'concluida', 'cancelada'];
export class ChangeSaleStatusDto {
@IsIn(STATUS_DESTINO)
status: venda_status;
}