|
| 1 | +-- SIMPLIFIED PERMISSIONS FIX WITHOUT ESCAPING ISSUES |
| 2 | + |
| 3 | +-- First, grant basic permissions directly to tables |
| 4 | +GRANT ALL ON TABLE public.stripe_payments TO postgres; |
| 5 | +GRANT ALL ON TABLE public.stripe_payments TO service_role; |
| 6 | +GRANT SELECT, INSERT, UPDATE ON TABLE public.stripe_payments TO authenticated; |
| 7 | +GRANT SELECT, INSERT, UPDATE ON TABLE public.stripe_payments TO anon; |
| 8 | + |
| 9 | +GRANT ALL ON TABLE public.crypto_payments TO postgres; |
| 10 | +GRANT ALL ON TABLE public.crypto_payments TO service_role; |
| 11 | +GRANT SELECT, INSERT, UPDATE ON TABLE public.crypto_payments TO authenticated; |
| 12 | +GRANT SELECT, INSERT, UPDATE ON TABLE public.crypto_payments TO anon; |
| 13 | + |
| 14 | +-- Enable Row Level Security with permissive policies |
| 15 | +ALTER TABLE public.stripe_payments ENABLE ROW LEVEL SECURITY; |
| 16 | +ALTER TABLE public.crypto_payments ENABLE ROW LEVEL SECURITY; |
| 17 | + |
| 18 | +-- Drop existing policies if they exist |
| 19 | +DROP POLICY IF EXISTS stripe_payments_policy ON public.stripe_payments; |
| 20 | +DROP POLICY IF EXISTS crypto_payments_policy ON public.crypto_payments; |
| 21 | + |
| 22 | +-- Create new policies |
| 23 | +CREATE POLICY stripe_payments_policy ON public.stripe_payments USING (true) WITH CHECK (true); |
| 24 | +CREATE POLICY crypto_payments_policy ON public.crypto_payments USING (true) WITH CHECK (true); |
| 25 | + |
| 26 | +-- Grant schema usage |
| 27 | +GRANT USAGE ON SCHEMA public TO public; |
| 28 | +GRANT USAGE ON SCHEMA public TO anon; |
| 29 | +GRANT USAGE ON SCHEMA public TO authenticated; |
| 30 | +GRANT USAGE ON SCHEMA public TO service_role; |
| 31 | + |
| 32 | +-- Grant permissions on sequences if they exist |
| 33 | +DO $$ |
| 34 | +BEGIN |
| 35 | + -- Grant permissions for all sequences in public schema |
| 36 | + EXECUTE ( |
| 37 | + SELECT 'GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO authenticated;' |
| 38 | + ); |
| 39 | + |
| 40 | + EXECUTE ( |
| 41 | + SELECT 'GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO anon;' |
| 42 | + ); |
| 43 | + |
| 44 | + EXECUTE ( |
| 45 | + SELECT 'GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO service_role;' |
| 46 | + ); |
| 47 | +END |
| 48 | +$$; |
0 commit comments