feat(release): prepare 1.1.0 candidate

This commit is contained in:
Yun Chan 2026-08-29 18:33:45 +09:00
parent 5a34f66981
commit 5205dcdfa9
736 changed files with 115667 additions and 12203 deletions

View file

@ -0,0 +1,22 @@
import type { SupabaseClient, User } from '@supabase/supabase-js'
import { AdminPublicError, actorEmail, adminRpcError } from './admin-contract.ts'
export type CurrentAdminRole = 'manager' | 'admin' | 'super_admin'
export async function verifyCurrentAdminActor(
serviceClient: SupabaseClient,
user: User,
minimumRole: CurrentAdminRole = 'manager',
): Promise<void> {
const { data, error } = await serviceClient.rpc('resolve_external_admin_actor_v1', {
p_email: actorEmail(user),
p_minimum_role: minimumRole,
})
if (error) throw adminRpcError(error)
const actor = Array.isArray(data) ? data[0] as Record<string, unknown> | undefined : undefined
if (!actor || typeof actor.actor_id !== 'string' ||
(actor.actor_role !== 'manager' && actor.actor_role !== 'admin' && actor.actor_role !== 'super_admin')) {
throw new AdminPublicError(502, 'invalid_admin_rpc_response')
}
}