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,43 @@
|
||||
CREATE OR REPLACE FUNCTION public.create_form_inbox_entry_from_violation_response()
|
||||
RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
SECURITY DEFINER
|
||||
SET search_path TO 'public'
|
||||
AS $function$
|
||||
DECLARE
|
||||
v_assoc_id UUID;
|
||||
v_title TEXT;
|
||||
v_summary TEXT;
|
||||
v_address TEXT;
|
||||
v_vid_short TEXT;
|
||||
BEGIN
|
||||
SELECT
|
||||
v.association_id,
|
||||
LEFT(v.id::text, 8),
|
||||
COALESCE(v.address, ''),
|
||||
COALESCE(v.category, v.violation_type, v.title, 'Unknown')
|
||||
INTO v_assoc_id, v_vid_short, v_address, v_title
|
||||
FROM public.violations v
|
||||
WHERE v.id = NEW.violation_id;
|
||||
|
||||
v_summary := 'Violation ID: V-' || UPPER(v_vid_short);
|
||||
IF v_address IS NOT NULL AND v_address <> '' THEN
|
||||
v_summary := v_summary || ' | Address: ' || v_address;
|
||||
END IF;
|
||||
IF NEW.response_text IS NOT NULL THEN
|
||||
v_summary := v_summary || ' | ' || LEFT(NEW.response_text, 150);
|
||||
END IF;
|
||||
|
||||
INSERT INTO public.form_inbox (
|
||||
source_type, source_id, association_id, title,
|
||||
submitter_name, submitter_email, summary
|
||||
)
|
||||
VALUES (
|
||||
'violation_response', NEW.id, v_assoc_id,
|
||||
'Violation Response - ' || v_title,
|
||||
NEW.respondent_name, NEW.respondent_email, v_summary
|
||||
);
|
||||
|
||||
RETURN NEW;
|
||||
END;
|
||||
$function$;
|
||||
Reference in New Issue
Block a user