Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,12 +235,12 @@ src/

supabase/
├── config.toml # Configuração do projeto Supabase
├── functions/ # 47 Edge Functions
├── functions/ # 81 Edge Functions (Deno) — ver docs/EDGE_FUNCTIONS.md
│ ├── _shared/ # Utilitários compartilhados (CORS, auth, validação)
│ ├── expert-chat/ # Assistente IA
│ ├── external-db-bridge/ # Bridge para banco externo
│ └── ...
└── migrations/ # 205 migrations SQL versionadas
└── migrations/ # 710 arquivos SQL versionados (~685 aplicadas em PROD)
```

---
Expand Down Expand Up @@ -313,10 +313,12 @@ supabase/
## 🗄 Banco de Dados

### Supabase (Interno)
- 35+ tabelas com RLS completo
- 205 migrations versionadas e reproduzíveis
- **269 tabelas** em `public`, **100% com RLS ativo** (662 policies, ~2.5 por tabela)
- **112 funções `SECURITY DEFINER`**, 100% com `search_path` setado (gate de CI bloqueia regressão)
- **~710 migrations** versionadas (~685 aplicadas em PROD; drift de ~25)
- Tipos gerados automaticamente (`supabase gen types`)
- Connection pooling via Supabase pooler
- 17 cron jobs ativos via `pg_cron` (autenticados por secret no vault)

### Banco Externo (Promobrind)
- Acesso via Edge Function `external-db-bridge`
Expand All @@ -328,7 +330,7 @@ supabase/

## ⚡ Edge Functions

47 Edge Functions organizadas em categorias:
**81 Edge Functions** (Deno) organizadas em categorias. **24 marcadas `verify_jwt = false`** em `supabase/config.toml` — todas com defesa interna validada (vault secret, `x-mcp-key`, `x-dispatcher-secret`, `runBotProtection`, ou `authenticateRequest`). Para inventário completo veja [`docs/EDGE_FUNCTIONS.md`](docs/EDGE_FUNCTIONS.md).

| Categoria | Funções |
|---|---|
Expand Down
5 changes: 3 additions & 2 deletions docs/04_EXPLICACAO_DAS_POLICIES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# 🔐 Explicação das Policies (RLS)

> **Sistema Multi-tenant Gifts Store**
> Guia completo de todas as 80+ policies de Row Level Security
> **Sistema Multi-tenant Gifts Store**
> Guia das ~662 policies de Row Level Security ativas em 269 tabelas (100% das tabelas em `public` têm RLS habilitado — gate de CI bloqueia regressão).
> Última atualização: 2026-05-22 (DOC-001).

---

Expand Down
10 changes: 5 additions & 5 deletions docs/DEPLOYMENT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Deployment Guide — Promo_Gifts

> **Última revisão:** 2026-05-12 (pós-redeploy Fase 2, T3 migrations audit)
> **Última revisão:** 2026-05-22 (pós-auditoria back-end sênior, DOC-001 — números reais)
> **Status do redeploy:** ver `docs/redeploy/REDEPLOY-FASE2-EXECUTION-LOG.md`

---
Expand All @@ -9,18 +9,18 @@

### 1. NÃO use `supabase db push`

O diretório `supabase/migrations/` tem **332 arquivos**; o banco de produção registra **209 migrations**. **Interseção: zero.** As duas histórias divergiram há meses (várias ferramentas — Lovable, SQL Editor, scripts ad-hoc — gravaram em momentos diferentes).
O diretório `supabase/migrations/` tem **~710 arquivos**; o banco de produção registra **~685 migrations** aplicadas (drift atual de ~25 arquivos, ~3.5%). A divergência maior foi reconciliada na onda de recovery de mai/2026 (ver `RECOVERY_PLAN.md`); o que sobra hoje são migrations recentes ainda não promovidas ao banco.

**Consequência prática:**

```bash
# ❌ NUNCA rode isso:
supabase db push --project-ref doufsxqlfjyuvxuezpln
# Vai tentar aplicar 332 migrations num banco que já tem schema diferente
# → conflitos em cascata → corrupção potencial
# Vai tentar aplicar todas as migrations do repo na ordem, podendo
# conflitar com objetos já existentes no banco de produção.
```

**Fonte da verdade do schema é o BANCO em produção**, não o repo.
**Fonte da verdade do schema é o BANCO em produção**, não o repo. O repo é o **registro histórico** das intenções de mudança e o material para aplicar **uma migration nova de cada vez** via `apply_migration` MCP ou SQL Editor.

Detalhes completos: [`docs/redeploy/REDEPLOY-T3-MIGRATIONS-AUDIT.md`](redeploy/REDEPLOY-T3-MIGRATIONS-AUDIT.md).

Expand Down
3 changes: 2 additions & 1 deletion docs/EDGE_FUNCTIONS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Edge Functions — Catálogo Completo

> Última atualização: 2026-04-17 · 50 funções ativas
> Última atualização: 2026-05-22 · **81 funções ativas** (24 com `verify_jwt = false`, todas com defesa interna validada — ver auditoria back-end sênior de 2026-05-22)
> A tabela abaixo é histórica e cobre as ~50 funções originais — o inventário completo de 81 está em `audit/ANALISE_BACKEND_SENIOR_2026-05-22.md` (Seção 1).

## Convenções

Expand Down
Loading