mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-13 14:37:26 +00:00
This commit is contained in:
parent
7d6a033b41
commit
13e921c7af
1 changed files with 79 additions and 0 deletions
|
|
@ -0,0 +1,79 @@
|
|||
-- Enable Row Level Security on communication account tables
|
||||
-- These tables were created without RLS in 20260609010000_communication_accounts.sql
|
||||
|
||||
ALTER TABLE connected_accounts ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE account_permission_grants ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE account_audit_events ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE email_message_cache ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE social_post_cache ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- connected_accounts: users can only access their own accounts
|
||||
CREATE POLICY "Users can view own connected accounts"
|
||||
ON connected_accounts FOR SELECT
|
||||
USING (auth.uid() = owner_user_id);
|
||||
|
||||
CREATE POLICY "Users can insert own connected accounts"
|
||||
ON connected_accounts FOR INSERT
|
||||
WITH CHECK (auth.uid() = owner_user_id);
|
||||
|
||||
CREATE POLICY "Users can update own connected accounts"
|
||||
ON connected_accounts FOR UPDATE
|
||||
USING (auth.uid() = owner_user_id);
|
||||
|
||||
CREATE POLICY "Users can delete own connected accounts"
|
||||
ON connected_accounts FOR DELETE
|
||||
USING (auth.uid() = owner_user_id);
|
||||
|
||||
-- account_permission_grants: access through connected_accounts ownership
|
||||
CREATE POLICY "Users can view grants for own accounts"
|
||||
ON account_permission_grants FOR SELECT
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM connected_accounts
|
||||
WHERE connected_accounts.id = account_permission_grants.account_id
|
||||
AND connected_accounts.owner_user_id = auth.uid()
|
||||
)
|
||||
);
|
||||
|
||||
CREATE POLICY "Users can manage grants for own accounts"
|
||||
ON account_permission_grants FOR ALL
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM connected_accounts
|
||||
WHERE connected_accounts.id = account_permission_grants.account_id
|
||||
AND connected_accounts.owner_user_id = auth.uid()
|
||||
)
|
||||
);
|
||||
|
||||
-- account_audit_events: read-only access through connected_accounts ownership
|
||||
CREATE POLICY "Users can view audit events for own accounts"
|
||||
ON account_audit_events FOR SELECT
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM connected_accounts
|
||||
WHERE connected_accounts.id = account_audit_events.account_id
|
||||
AND connected_accounts.owner_user_id = auth.uid()
|
||||
)
|
||||
);
|
||||
|
||||
-- email_message_cache: access through connected_accounts ownership
|
||||
CREATE POLICY "Users can view emails for own accounts"
|
||||
ON email_message_cache FOR SELECT
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM connected_accounts
|
||||
WHERE connected_accounts.id = email_message_cache.account_id
|
||||
AND connected_accounts.owner_user_id = auth.uid()
|
||||
)
|
||||
);
|
||||
|
||||
-- social_post_cache: access through connected_accounts ownership
|
||||
CREATE POLICY "Users can view posts for own accounts"
|
||||
ON social_post_cache FOR SELECT
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM connected_accounts
|
||||
WHERE connected_accounts.id = social_post_cache.account_id
|
||||
AND connected_accounts.owner_user_id = auth.uid()
|
||||
)
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue