wiki: F6.4 SaaS-admin resolvida, F6.3 desbloqueada

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Leonardo
2026-06-13 17:02:53 -03:00
parent dc2363b4e1
commit 96f4543138
3 changed files with 16 additions and 19 deletions
@@ -18,24 +18,15 @@
-- --schema=public --no-owner --no-acl > database-novo/backups/pre-F6.3/public.sql
--
-- ─────────────────────────────────────────────────────────────────────────────
-- ITENS EM ABERTO (resolver ANTES de aplicar) — superfície SaaS-admin / anon
-- que AINDA aponta pra public e quebraria com o DROP:
--
-- 1. v_twilio_whatsapp_overview + twilioWhatsappService.getAllChannels()
-- → view SaaS-admin cross-tenant sobre notification_channels +
-- twilio_subaccount_usage (tenant). Reescrever getAllChannels pra varrer
-- os schemas (ou usar public.channel_routing) antes do DROP.
-- 2. Páginas SaaS revertidas na F3 (SaasFeriadosPage, SaasNotificationTemplates,
-- SaasDocumentTemplates, SaasWhatsappPage) — gerenciam defaults do sistema /
-- views cross-tenant; hoje leem public.<tabela_tenant>. Redirecionar pra
-- _tenant_template (defaults) ou fan-out por schema.
-- 3. notification-webhook (Meta) — fan-out por message_id em public; conferir
-- que só usa channel_routing/schemas.
-- 4. AgendadorPublicoPage — já usa RPCs roteadas (OK); confirmar.
--
-- Rodar pra detectar referências FE remanescentes a tabelas tenant em public:
-- grep -rnE "supabase\.from\('(patients|agenda_eventos|financial_records|
-- documents|notification_channels|conversation_messages|...)'\)" src
-- ITENS EM ABERTO — RESOLVIDOS (F6.4, commit dc2363b):
-- 1. v_twilio_whatsapp_overview / getAllChannels → RPC saas_list_all_whatsapp_
-- channels (fan-out). ✓
-- 2. SaasFeriadosPage / SaasNotificationTemplatesPage / SaasWhatsappPage →
-- RPCs saas_*_default + supabase.schema(tenant_<slug>). ✓
-- 3. notification-webhook (Meta) → confirmado: usa tdb/schema (F4). ✓
-- 4. AgendadorPublicoPage → RPCs roteadas. ✓
-- Varredura FE confirma ZERO supabase.from('<tabela_tenant>') público restante.
-- PRÉ-REQUISITO FINAL: Leonardo testar o app + backup fresco.
-- ─────────────────────────────────────────────────────────────────────────────
-- =============================================================================