import "server-only"; import type { User } from "@supabase/supabase-js"; import { admin, required } from "./supabase"; import { displayNameSchema } from "@/shared/account"; export async function accountProfile(account: User) { const name = displayNameSchema.safeParse(account.user_metadata?.display_name); required( await admin() .from("profiles") .upsert( { id: account.id, display_name: name.success ? name.data : "Explorer", }, { onConflict: "id", ignoreDuplicates: true }, ) .select("id"), ); return required( await admin() .from("profiles") .select("id,display_name,role") .eq("id", account.id) .single(), ); }