import { dbGlobal } from "drizzle-pkg/lib/db"; import { users } from "drizzle-pkg/lib/schema/auth"; import { eq } from "drizzle-orm"; import { KNOWN_CONFIG_KEYS } from "#server/service/config/registry"; export default defineWrappedResponseHandler(async (event) => { const user = await event.context.auth.requireUser(); const entries = await Promise.all( KNOWN_CONFIG_KEYS.map(async (key) => { const value = await event.context.config.get(key); return [key, value] as const; }), ); const [row] = await dbGlobal .select({ nickname: users.nickname, avatar: users.avatar, }) .from(users) .where(eq(users.id, user.id)) .limit(1); return R.success({ user: { id: user.id, username: user.username, role: user.role, publicSlug: user.publicSlug, nickname: row?.nickname ?? null, avatar: row?.avatar ?? null, }, config: Object.fromEntries(entries), }); });