Correcao Sidebar Classico e Rail, Correcao Layout, Ajuste de Breakpoint para Tailwind, Ajuste AppTopbar, Ajuste Menu PopOver, Recriado Paleta de Cores, Inserido algumas animações leves, Reajuste Cor items NOVOS da tabela, Drawer Ajuda Corrigido no Logout, Whatsapp, sms, email, recursos extras
This commit is contained in:
83
database-novo/fixes/fix_addon_rls_saas_admin.sql
Normal file
83
database-novo/fixes/fix_addon_rls_saas_admin.sql
Normal file
@@ -0,0 +1,83 @@
|
||||
-- ============================================================
|
||||
-- Fix: RLS addon_credits e addon_transactions
|
||||
-- 1. SaaS Admin: acesso total
|
||||
-- 2. Tenant members: SELECT nos seus créditos/transações
|
||||
-- Agência PSI — 2026-03-22
|
||||
-- ============================================================
|
||||
|
||||
-- ── addon_products: admin pode tudo (CRUD) ────────────────────
|
||||
DROP POLICY IF EXISTS "addon_products_admin_all" ON public.addon_products;
|
||||
CREATE POLICY "addon_products_admin_all"
|
||||
ON public.addon_products FOR ALL
|
||||
TO authenticated
|
||||
USING (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
)
|
||||
WITH CHECK (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
);
|
||||
|
||||
-- ── addon_credits: admin pode ver todos ───────────────────────
|
||||
DROP POLICY IF EXISTS "addon_credits_admin_select" ON public.addon_credits;
|
||||
CREATE POLICY "addon_credits_admin_select"
|
||||
ON public.addon_credits FOR SELECT
|
||||
TO authenticated
|
||||
USING (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
);
|
||||
|
||||
-- ── addon_credits: admin pode inserir/atualizar ───────────────
|
||||
DROP POLICY IF EXISTS "addon_credits_admin_write" ON public.addon_credits;
|
||||
CREATE POLICY "addon_credits_admin_write"
|
||||
ON public.addon_credits FOR ALL
|
||||
TO authenticated
|
||||
USING (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
)
|
||||
WITH CHECK (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
);
|
||||
|
||||
-- ── addon_transactions: admin pode ver todas ──────────────────
|
||||
DROP POLICY IF EXISTS "addon_transactions_admin_select" ON public.addon_transactions;
|
||||
CREATE POLICY "addon_transactions_admin_select"
|
||||
ON public.addon_transactions FOR SELECT
|
||||
TO authenticated
|
||||
USING (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
);
|
||||
|
||||
-- ── addon_transactions: admin pode inserir ────────────────────
|
||||
DROP POLICY IF EXISTS "addon_transactions_admin_insert" ON public.addon_transactions;
|
||||
CREATE POLICY "addon_transactions_admin_insert"
|
||||
ON public.addon_transactions FOR INSERT
|
||||
TO authenticated
|
||||
WITH CHECK (
|
||||
EXISTS (SELECT 1 FROM public.saas_admins WHERE user_id = auth.uid())
|
||||
);
|
||||
|
||||
-- ══════════════════════════════════════════════════════════════
|
||||
-- Corrige policies de tenant members (SELECT)
|
||||
-- A policy original usava tenant_id = auth.uid(), mas o auth.uid()
|
||||
-- é o user_id, não o tenant_id. Usa is_tenant_member() em vez disso.
|
||||
-- ══════════════════════════════════════════════════════════════
|
||||
|
||||
-- addon_credits: membro do tenant vê os créditos do seu tenant
|
||||
DROP POLICY IF EXISTS "addon_credits_select_own" ON public.addon_credits;
|
||||
CREATE POLICY "addon_credits_select_own"
|
||||
ON public.addon_credits FOR SELECT
|
||||
TO authenticated
|
||||
USING (
|
||||
public.is_tenant_member(tenant_id)
|
||||
OR owner_id = auth.uid()
|
||||
);
|
||||
|
||||
-- addon_transactions: membro do tenant vê as transações do seu tenant
|
||||
DROP POLICY IF EXISTS "addon_transactions_select_own" ON public.addon_transactions;
|
||||
CREATE POLICY "addon_transactions_select_own"
|
||||
ON public.addon_transactions FOR SELECT
|
||||
TO authenticated
|
||||
USING (
|
||||
public.is_tenant_member(tenant_id)
|
||||
OR owner_id = auth.uid()
|
||||
);
|
||||
Reference in New Issue
Block a user