import { cookies } from "next/headers"; export type UserProfile = { id: string; email?: string; name?: string; username?: string; roles: string[]; picture?: string }; export async function getUserProfile(): Promise { const cookieStore = cookies(); const token = (await cookieStore).get("access_token")?.value; if (!token) return null; try { const payload = JSON.parse( Buffer.from(token.split(".")[1], "base64").toString() ); return { id: payload.sub, email: payload.email, name: payload.name, username: payload.preferred_username, picture: payload.picture, roles: payload.realm_access?.roles || [], }; } catch (err) { return null; } }