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$ +; +