MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / getUserInfoFromApiKey

Function getUserInfoFromApiKey

web/src/db/user.ts:20–38  ·  view source on GitHub ↗
({
  apiKey,
  fields,
}: GetUserInfoFromApiKeyInput<T>)

Source from the content-addressed store, hash-verified

18] as const
19
20export async function getUserInfoFromApiKey<T extends UserColumn>({
21 apiKey,
22 fields,
23}: GetUserInfoFromApiKeyInput<T>): GetUserInfoFromApiKeyOutput<T> {
24 // Build a typed selection object for user columns
25 const userSelection = Object.fromEntries(
26 fields.map((field) => [field, schema.user[field]]),
27 ) as { [K in T]: (typeof schema.user)[K] }
28
29 const rows = await db
30 .select({ user: userSelection }) // <-- important: nest under 'user'
31 .from(schema.user)
32 .leftJoin(schema.session, eq(schema.user.id, schema.session.userId))
33 .where(eq(schema.session.sessionToken, apiKey))
34 .limit(1)
35
36 // Drizzle returns { user: ..., session: ... }, we return only the user part
37 return rows[0]?.user
38}

Callers 1

POSTFunction · 0.90

Calls 1

fromMethod · 0.80

Tested by

no test coverage detected