CREATE TABLE public.pdf_form_templates ( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, association_id UUID NOT NULL REFERENCES public.associations(id) ON DELETE CASCADE, name TEXT NOT NULL, description TEXT, fields JSONB NOT NULL DEFAULT '[]'::jsonb, page_settings JSONB NOT NULL DEFAULT '{"margins":{"top":48,"bottom":48,"left":48,"right":48},"orientation":"portrait"}'::jsonb, created_by UUID, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now() ); ALTER TABLE public.pdf_form_templates ENABLE ROW LEVEL SECURITY; CREATE POLICY "Authenticated users can view pdf form templates" ON public.pdf_form_templates FOR SELECT TO authenticated USING (true); CREATE POLICY "Authenticated users can create pdf form templates" ON public.pdf_form_templates FOR INSERT TO authenticated WITH CHECK (true); CREATE POLICY "Authenticated users can update pdf form templates" ON public.pdf_form_templates FOR UPDATE TO authenticated USING (true); CREATE POLICY "Authenticated users can delete pdf form templates" ON public.pdf_form_templates FOR DELETE TO authenticated USING (true); CREATE TRIGGER update_pdf_form_templates_updated_at BEFORE UPDATE ON public.pdf_form_templates FOR EACH ROW EXECUTE FUNCTION public.update_updated_at_column();