Create 20250705135500_update_schema.sql
Миграция политик
This commit is contained in:
parent
690c18e601
commit
5572b5f440
65
supabase/migrations/20250705135500_update_schema.sql
Normal file
65
supabase/migrations/20250705135500_update_schema.sql
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
-- Включаем RLS для всех таблиц
|
||||||
|
ALTER TABLE users ENABLE ROW LEVEL SECURITY;
|
||||||
|
ALTER TABLE media ENABLE ROW LEVEL SECURITY;
|
||||||
|
ALTER TABLE reviews ENABLE ROW LEVEL SECURITY;
|
||||||
|
|
||||||
|
-- Политики для таблицы users
|
||||||
|
CREATE POLICY "Users can view own profile"
|
||||||
|
ON users FOR SELECT
|
||||||
|
USING (auth.uid() = id);
|
||||||
|
|
||||||
|
CREATE POLICY "Users can update own profile"
|
||||||
|
ON users FOR UPDATE
|
||||||
|
USING (auth.uid() = id);
|
||||||
|
|
||||||
|
-- Политики для таблицы media
|
||||||
|
CREATE POLICY "Anyone can view media"
|
||||||
|
ON media FOR SELECT
|
||||||
|
USING (true);
|
||||||
|
|
||||||
|
CREATE POLICY "Admins can insert media"
|
||||||
|
ON media FOR INSERT
|
||||||
|
WITH CHECK (
|
||||||
|
EXISTS (
|
||||||
|
SELECT 1 FROM users
|
||||||
|
WHERE users.id = auth.uid()
|
||||||
|
AND users.role = 'admin'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE POLICY "Admins can update media"
|
||||||
|
ON media FOR UPDATE
|
||||||
|
USING (
|
||||||
|
EXISTS (
|
||||||
|
SELECT 1 FROM users
|
||||||
|
WHERE users.id = auth.uid()
|
||||||
|
AND users.role = 'admin'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE POLICY "Admins can delete media"
|
||||||
|
ON media FOR DELETE
|
||||||
|
USING (
|
||||||
|
EXISTS (
|
||||||
|
SELECT 1 FROM users
|
||||||
|
WHERE users.id = auth.uid()
|
||||||
|
AND users.role = 'admin'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Политики для таблицы reviews
|
||||||
|
CREATE POLICY "Anyone can view reviews"
|
||||||
|
ON reviews FOR SELECT
|
||||||
|
USING (true);
|
||||||
|
|
||||||
|
CREATE POLICY "Authenticated users can insert reviews"
|
||||||
|
ON reviews FOR INSERT
|
||||||
|
WITH CHECK (auth.uid() IS NOT NULL);
|
||||||
|
|
||||||
|
CREATE POLICY "Users can update own reviews"
|
||||||
|
ON reviews FOR UPDATE
|
||||||
|
USING (auth.uid() = user_id);
|
||||||
|
|
||||||
|
CREATE POLICY "Users can delete own reviews"
|
||||||
|
ON reviews FOR DELETE
|
||||||
|
USING (auth.uid() = user_id);
|
Loading…
Reference in New Issue
Block a user