Dashbaord fixes
This commit is contained in:
56
supabase/migrations/031_platform_admin_rls.sql
Normal file
56
supabase/migrations/031_platform_admin_rls.sql
Normal file
@@ -0,0 +1,56 @@
|
||||
-- Platform admins can read/write all data across the platform
|
||||
-- This bypasses org-membership-based RLS for users with is_platform_admin = true
|
||||
|
||||
-- Helper function to check if current user is a platform admin
|
||||
CREATE OR REPLACE FUNCTION is_platform_admin()
|
||||
RETURNS BOOLEAN AS $$
|
||||
SELECT EXISTS (
|
||||
SELECT 1 FROM profiles
|
||||
WHERE id = auth.uid()
|
||||
AND is_platform_admin = true
|
||||
);
|
||||
$$ LANGUAGE sql SECURITY DEFINER STABLE;
|
||||
|
||||
-- Organizations: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to organizations" ON organizations
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Org Members: platform admins can see all memberships
|
||||
CREATE POLICY "Platform admins full access to org_members" ON org_members
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Profiles: platform admins can update any profile
|
||||
CREATE POLICY "Platform admins can update profiles" ON profiles FOR UPDATE
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Events: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to events" ON events
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Event members: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to event_members" ON event_members
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Documents: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to documents" ON documents
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Kanban boards: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to kanban_boards" ON kanban_boards
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Calendar events: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to calendar_events" ON calendar_events
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Org roles: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to org_roles" ON org_roles
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Org invites: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to org_invites" ON org_invites
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
|
||||
-- Event departments: platform admins can do everything
|
||||
CREATE POLICY "Platform admins full access to event_departments" ON event_departments
|
||||
USING (is_platform_admin()) WITH CHECK (is_platform_admin());
|
||||
Reference in New Issue
Block a user