Add ACMCC app source, Supabase backend, and project config

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-01 20:19:26 -04:00
parent 313b51b412
commit 183fe0a93c
1422 changed files with 259271 additions and 0 deletions
@@ -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();