-- ===================================================================== -- TeeCup — migrasjon 076 -- Offentlig/delt Order of Merit-visning (ADR-076, "Steg 3" av OOM sin -- gjenstår-liste fra ADR-043/074/075) -- ===================================================================== -- Kun én ny bro-funksjon -- order_of_merit.public_visible finnes -- allerede fra migrasjon 055, aldri brukt til noe før nå. -- ===================================================================== \set ON_ERROR_STOP on -- --------------------------------------------------------------------- -- public_order_of_merit_by_id() -- samme mønster som public_org_by_slug -- (009)/public_tournament_by_code (011): SECURITY DEFINER-bro, eneste -- måte et /public/...-endepunkt får vite riktig org-kontekst FØR RLS -- kan håndheve noe. Returnerer NULL for BÅDE "finnes ikke" og "finnes, -- men er ikke offentlig" -- samme anti-enumerering som resten. -- --------------------------------------------------------------------- CREATE FUNCTION public_order_of_merit_by_id(p_id uuid) RETURNS uuid LANGUAGE sql SECURITY DEFINER SET search_path = public STABLE AS $$ SELECT organization_id FROM order_of_merit WHERE id = p_id AND public_visible = true; $$; GRANT EXECUTE ON FUNCTION public_order_of_merit_by_id(uuid) TO teecup_app;