From b3d43e4e50a1d4c592fb2ea234d76ada002ccff0 Mon Sep 17 00:00:00 2001 From: Jared Schoeny Date: Tue, 2 Dec 2025 00:13:33 -1000 Subject: [PATCH] Add `is_archiver` db helper function --- src/types/db.ts | 1 + .../migrations/20251130013154_add_archiver_role.sql | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 supabase/migrations/20251130013154_add_archiver_role.sql diff --git a/src/types/db.ts b/src/types/db.ts index d64fefa..80e6a68 100644 --- a/src/types/db.ts +++ b/src/types/db.ts @@ -349,6 +349,7 @@ export type Database = { get_my_claim: { Args: { claim: string }; Returns: Json } get_my_claims: { Args: never; Returns: Json } is_admin: { Args: never; Returns: boolean } + is_archiver: { Args: never; Returns: boolean } is_claims_admin: { Args: never; Returns: boolean } set_claim: { Args: { claim: string; uid: string; value: Json } diff --git a/supabase/migrations/20251130013154_add_archiver_role.sql b/supabase/migrations/20251130013154_add_archiver_role.sql new file mode 100644 index 0000000..5a82d4d --- /dev/null +++ b/supabase/migrations/20251130013154_add_archiver_role.sql @@ -0,0 +1,12 @@ +CREATE OR REPLACE FUNCTION public.is_archiver() + RETURNS boolean + LANGUAGE sql + STABLE +AS $function$ + select + coalesce(get_my_claim('archiver')::bool,false) + or + coalesce(get_my_claim('claims_admin')::bool,false) +$function$ +; +