mirror of
https://github.com/renee-png/acmcc.git
synced 2026-06-21 09:50:01 +00:00
Add ACMCC app source, Supabase backend, and project config
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
CREATE TABLE IF NOT EXISTS public.email_inbox_configs (
|
||||
id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
|
||||
user_id UUID NOT NULL,
|
||||
display_name TEXT NOT NULL,
|
||||
email_address TEXT NOT NULL,
|
||||
imap_host TEXT NOT NULL,
|
||||
imap_port INTEGER NOT NULL DEFAULT 993,
|
||||
imap_username TEXT NOT NULL,
|
||||
imap_password TEXT NOT NULL,
|
||||
use_tls BOOLEAN NOT NULL DEFAULT true,
|
||||
is_active BOOLEAN NOT NULL DEFAULT true,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
ALTER TABLE public.email_inbox_configs ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
CREATE POLICY "Staff can view inbox configs"
|
||||
ON public.email_inbox_configs
|
||||
FOR SELECT
|
||||
TO authenticated
|
||||
USING (
|
||||
public.has_role(auth.uid(), 'admin'::public.app_role)
|
||||
OR public.has_role(auth.uid(), 'manager'::public.app_role)
|
||||
);
|
||||
|
||||
CREATE POLICY "Staff can create inbox configs"
|
||||
ON public.email_inbox_configs
|
||||
FOR INSERT
|
||||
TO authenticated
|
||||
WITH CHECK (
|
||||
public.has_role(auth.uid(), 'admin'::public.app_role)
|
||||
OR public.has_role(auth.uid(), 'manager'::public.app_role)
|
||||
);
|
||||
|
||||
CREATE POLICY "Staff can update inbox configs"
|
||||
ON public.email_inbox_configs
|
||||
FOR UPDATE
|
||||
TO authenticated
|
||||
USING (
|
||||
public.has_role(auth.uid(), 'admin'::public.app_role)
|
||||
OR public.has_role(auth.uid(), 'manager'::public.app_role)
|
||||
)
|
||||
WITH CHECK (
|
||||
public.has_role(auth.uid(), 'admin'::public.app_role)
|
||||
OR public.has_role(auth.uid(), 'manager'::public.app_role)
|
||||
);
|
||||
|
||||
CREATE POLICY "Staff can delete inbox configs"
|
||||
ON public.email_inbox_configs
|
||||
FOR DELETE
|
||||
TO authenticated
|
||||
USING (
|
||||
public.has_role(auth.uid(), 'admin'::public.app_role)
|
||||
OR public.has_role(auth.uid(), 'manager'::public.app_role)
|
||||
);
|
||||
|
||||
CREATE TRIGGER update_email_inbox_configs_updated_at
|
||||
BEFORE UPDATE ON public.email_inbox_configs
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION public.update_updated_at_column();
|
||||
Reference in New Issue
Block a user