You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.5 KiB
27 lines
1.5 KiB
-- Run this in Supabase SQL Editor if you get "permission denied for table profiles"
|
|
-- 1) Grants the Supabase API roles access to the omotomo schema and profiles table.
|
|
-- 2) Ensures RLS policies exist on omotomo.profiles (skip policy creation if you already have them).
|
|
|
|
-- Allow anon and authenticated roles to use the omotomo schema
|
|
GRANT USAGE ON SCHEMA omotomo TO anon, authenticated;
|
|
|
|
-- Allow reading and writing profiles (RLS policies control which rows)
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON omotomo.profiles TO anon, authenticated;
|
|
|
|
-- RLS: ensure the table is protected and policies allow the right access
|
|
ALTER TABLE omotomo.profiles ENABLE ROW LEVEL SECURITY;
|
|
|
|
-- Drop existing policies if you need to recreate (optional; remove the DROP lines if policies already work)
|
|
DROP POLICY IF EXISTS profiles_select ON omotomo.profiles;
|
|
DROP POLICY IF EXISTS profiles_insert ON omotomo.profiles;
|
|
DROP POLICY IF EXISTS profiles_update ON omotomo.profiles;
|
|
DROP POLICY IF EXISTS profiles_delete ON omotomo.profiles;
|
|
|
|
-- Anyone can read profiles (e.g. show creator names on community decks)
|
|
CREATE POLICY profiles_select ON omotomo.profiles FOR SELECT USING (true);
|
|
|
|
-- Users can insert/update/delete only their own profile (id = auth.uid())
|
|
CREATE POLICY profiles_insert ON omotomo.profiles FOR INSERT WITH CHECK (auth.uid() = id);
|
|
CREATE POLICY profiles_update ON omotomo.profiles FOR UPDATE USING (auth.uid() = id) WITH CHECK (auth.uid() = id);
|
|
CREATE POLICY profiles_delete ON omotomo.profiles FOR DELETE USING (auth.uid() = id);
|