Files
acmcc/supabase/migrations/20260422014332_236dcb4e-a48d-4181-87b6-238a0629e826.sql
T
2026-06-01 20:19:26 -04:00

47 lines
2.3 KiB
SQL

CREATE TABLE IF NOT EXISTS public.owner_registration_requests (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
association_id uuid REFERENCES public.associations(id) ON DELETE SET NULL,
owner_id uuid REFERENCES public.owners(id) ON DELETE SET NULL,
unit_id uuid REFERENCES public.units(id) ON DELETE SET NULL,
last_name text NOT NULL,
email text NOT NULL,
unit_identifier text NOT NULL,
account_number text NOT NULL,
status text NOT NULL DEFAULT 'pending',
notes text,
reviewed_by uuid,
reviewed_at timestamp with time zone,
created_user_id uuid,
created_at timestamp with time zone NOT NULL DEFAULT now(),
updated_at timestamp with time zone NOT NULL DEFAULT now()
);
ALTER TABLE public.owner_registration_requests ENABLE ROW LEVEL SECURITY;
DROP POLICY IF EXISTS "Anyone can submit owner registration requests" ON public.owner_registration_requests;
CREATE POLICY "Anyone can submit owner registration requests"
ON public.owner_registration_requests
FOR INSERT
WITH CHECK (status = 'pending');
DROP POLICY IF EXISTS "Staff can view owner registration requests" ON public.owner_registration_requests;
CREATE POLICY "Staff can view owner registration requests"
ON public.owner_registration_requests
FOR SELECT
USING (public.has_role(auth.uid(), 'admin'::public.app_role) OR public.has_role(auth.uid(), 'manager'::public.app_role));
DROP POLICY IF EXISTS "Staff can update owner registration requests" ON public.owner_registration_requests;
CREATE POLICY "Staff can update owner registration requests"
ON public.owner_registration_requests
FOR UPDATE
USING (public.has_role(auth.uid(), 'admin'::public.app_role) OR public.has_role(auth.uid(), 'manager'::public.app_role));
CREATE INDEX IF NOT EXISTS idx_owner_registration_requests_status ON public.owner_registration_requests(status);
CREATE INDEX IF NOT EXISTS idx_owner_registration_requests_email ON public.owner_registration_requests(lower(email));
CREATE INDEX IF NOT EXISTS idx_owner_registration_requests_owner_id ON public.owner_registration_requests(owner_id);
DROP TRIGGER IF EXISTS update_owner_registration_requests_updated_at ON public.owner_registration_requests;
CREATE TRIGGER update_owner_registration_requests_updated_at
BEFORE UPDATE ON public.owner_registration_requests
FOR EACH ROW
EXECUTE FUNCTION public.update_updated_at_column();