diff --git a/supabase/migrations/20250615214805-b5c952dd-377d-4caf-a0d8-ac185d484846.sql b/supabase/migrations/20250615214805-b5c952dd-377d-4caf-a0d8-ac185d484846.sql new file mode 100644 index 0000000..260a55d --- /dev/null +++ b/supabase/migrations/20250615214805-b5c952dd-377d-4caf-a0d8-ac185d484846.sql @@ -0,0 +1,23 @@ + +-- Corrige a policy de insert na tabela transacoes para usar WITH CHECK +ALTER TABLE public.transacoes ENABLE ROW LEVEL SECURITY; + +DROP POLICY IF EXISTS "Permitir inserts apenas para assinantes ou trial" ON public.transacoes; + +CREATE POLICY "Permitir inserts apenas para assinantes ou trial" +ON public.transacoes +FOR INSERT +WITH CHECK ( + EXISTS (SELECT 1 FROM public.usuarios u WHERE u.email = login) + AND ( + (SELECT NOW() < u.created_at + INTERVAL '30 days' FROM public.usuarios u WHERE u.email = login) + OR EXISTS ( + SELECT 1 FROM public.pagamentos_mercadopago p + WHERE p.payer_email = login + AND p.status = 'approved' + ) + ) +); + +-- Permissão para os usuários autenticados continuarem acessando normalmente as outras operações +GRANT SELECT, INSERT, UPDATE, DELETE ON public.transacoes TO authenticated;