diff --git a/lib/auth.ts b/lib/auth.ts new file mode 100644 index 0000000..2f91301 --- /dev/null +++ b/lib/auth.ts @@ -0,0 +1,17 @@ +import { RequestCookie } from 'next/dist/compiled/@edge-runtime/cookies' +import { db } from './db' + +export const getUser = async (token: RequestCookie | undefined) => { + if (!token) return null + + const existing_session = await db.query.sessions.findFirst({ + where: (session, { eq }) => eq(session.sessionToken, token.value), + with: { + user: true, + }, + }) + + if (!existing_session) return null + + return existing_session.user +}