mirror of
https://github.com/renee-png/acmcc.git
synced 2026-06-21 09:50:01 +00:00
183fe0a93c
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
19 lines
512 B
PL/PgSQL
19 lines
512 B
PL/PgSQL
CREATE OR REPLACE FUNCTION public.prevent_updates_on_finalized_arc()
|
|
RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
SECURITY DEFINER
|
|
SET search_path = public
|
|
AS $$
|
|
BEGIN
|
|
IF lower(COALESCE(OLD.status,'')) IN ('approved','denied') THEN
|
|
IF public.has_role(auth.uid(), 'admin'::public.app_role) THEN
|
|
RETURN NEW;
|
|
END IF;
|
|
|
|
RAISE EXCEPTION 'This ARC application has been finalized (approved or denied) and is locked from further changes.'
|
|
USING ERRCODE = 'check_violation';
|
|
END IF;
|
|
|
|
RETURN NEW;
|
|
END;
|
|
$$; |