Files
acmcc/supabase/migrations/20260315220555_fb7d1498-7821-4217-982b-c1ce6bede3d6.sql
2026-06-01 20:19:26 -04:00

61 lines
2.0 KiB
SQL

-- Announcements table
CREATE TABLE public.announcements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
content TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'active',
visibility TEXT NOT NULL DEFAULT 'all',
created_by UUID REFERENCES auth.users(id) ON DELETE SET NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
ALTER TABLE public.announcements ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Authenticated users can read active announcements"
ON public.announcements FOR SELECT TO authenticated
USING (status = 'active');
CREATE POLICY "Authenticated users can insert announcements"
ON public.announcements FOR INSERT TO authenticated
WITH CHECK (true);
CREATE POLICY "Authors can update their announcements"
ON public.announcements FOR UPDATE TO authenticated
USING (created_by = auth.uid());
CREATE POLICY "Authors can delete their announcements"
ON public.announcements FOR DELETE TO authenticated
USING (created_by = auth.uid());
-- Reminders table
CREATE TABLE public.reminders (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
description TEXT,
due_date DATE NOT NULL,
status TEXT NOT NULL DEFAULT 'pending',
created_by UUID REFERENCES auth.users(id) ON DELETE CASCADE NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
ALTER TABLE public.reminders ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Users can read own reminders"
ON public.reminders FOR SELECT TO authenticated
USING (created_by = auth.uid());
CREATE POLICY "Users can create reminders"
ON public.reminders FOR INSERT TO authenticated
WITH CHECK (created_by = auth.uid());
CREATE POLICY "Users can update own reminders"
ON public.reminders FOR UPDATE TO authenticated
USING (created_by = auth.uid());
CREATE POLICY "Users can delete own reminders"
ON public.reminders FOR DELETE TO authenticated
USING (created_by = auth.uid());