21 lines
856 B
SQL
21 lines
856 B
SQL
-- Enable RLS on game_challenges so Supabase Realtime can use auth.uid() for row filtering
|
|
-- Without RLS, Realtime falls back to an empty role which causes "role "" does not exist" errors
|
|
|
|
ALTER TABLE rebreak.game_challenges ENABLE ROW LEVEL SECURITY;
|
|
|
|
-- Both players can read the game they are part of
|
|
CREATE POLICY "players can read their game" ON rebreak.game_challenges
|
|
FOR SELECT USING (
|
|
auth.uid() = challenger_id OR auth.uid() = opponent_id
|
|
);
|
|
|
|
-- Only the challenger can create the game row
|
|
CREATE POLICY "challenger can create game" ON rebreak.game_challenges
|
|
FOR INSERT WITH CHECK (auth.uid() = challenger_id);
|
|
|
|
-- Both players can update the game (make moves, accept/cancel)
|
|
CREATE POLICY "players can update their game" ON rebreak.game_challenges
|
|
FOR UPDATE USING (
|
|
auth.uid() = challenger_id OR auth.uid() = opponent_id
|
|
);
|