MCPcopy Create free account
hub / github.com/AnswerOverflow/AnswerOverflow / session

Function session

packages/core/src/auth.ts:411–439  ·  view source on GitHub ↗
({ session, user })

Source from the content-addressed store, hash-verified

409 ],
410 callbacks: {
411 async session({ session, user }) {
412 if (session.user) {
413 session.user.id = user.id;
414 }
415 const updateAccountAccessToken = async () => {
416 const discord = await db.query.dbAccounts.findFirst({
417 where: and(
418 eq(dbAccounts.provider, 'discord'),
419 eq(dbAccounts.userId, user.id),
420 ),
421 });
422 if (!discord) {
423 return;
424 }
425 const hasExpired =
426 Date.now() > (discord.expires_at ?? 0) * 1000 ||
427 discord.access_token === null;
428 if (hasExpired) {
429 await refreshAccessToken(discord);
430 }
431 };
432 try {
433 await updateAccountAccessToken();
434 } catch (e) {
435 // TODO: Should we not create a new session if this fails?
436 console.error(`Error updating account access token: ${e as string}`);
437 }
438 return session;
439 },
440 // TODO: Ugly
441 async signIn({ user, account }) {
442 console.log(`Sign in user: ${user.id}`);

Callers

nothing calls this directly

Calls 1

updateAccountAccessTokenFunction · 0.85

Tested by

no test coverage detected