-- Member approval workflow enhancements -- ============================================ -- Add approval tracking columns to members table ALTER TABLE public.members ADD COLUMN IF NOT EXISTS approved_at TIMESTAMPTZ; ALTER TABLE public.members ADD COLUMN IF NOT EXISTS approved_by UUID REFERENCES auth.users(id); ALTER TABLE public.members ADD COLUMN IF NOT EXISTS rejected_at TIMESTAMPTZ; ALTER TABLE public.members ADD COLUMN IF NOT EXISTS rejected_by UUID REFERENCES auth.users(id); ALTER TABLE public.members ADD COLUMN IF NOT EXISTS rejection_reason TEXT; -- Add approval email templates INSERT INTO public.email_templates (template_key, template_name, category, subject, body_html, body_text, is_active) VALUES ('member_approved', 'Member Approved', 'membership', 'Welcome to Monaco USA - Membership Approved!', '

Membership Approved!

Dear {{first_name}},

We are pleased to inform you that your membership application to Monaco USA has been approved!

Your member ID is: {{member_id}}

You now have full access to the member portal, including events, documents, and the member directory.

Visit Your Dashboard
', 'Dear {{first_name}}, Your membership to Monaco USA has been approved! Your member ID is {{member_id}}.', true), ('member_rejected', 'Member Rejected', 'membership', 'Monaco USA - Membership Application Update', '

Application Update

Dear {{first_name}},

Thank you for your interest in Monaco USA. After careful review, we regret to inform you that your membership application was not approved at this time.

{{reason}}

If you have questions, please contact us at info@monacousa.org.

', 'Dear {{first_name}}, Thank you for your interest in Monaco USA. After review, your membership application was not approved at this time.', true) ON CONFLICT (template_key) DO NOTHING;