Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 41 lines 982 B view raw
1import { DrizzleAdapter } from "@auth/drizzle-adapter"; 2import type { Adapter } from "next-auth/adapters"; 3 4import { db } from "@openstatus/db"; 5import { 6 account, 7 session, 8 user, 9 verificationToken, 10} from "@openstatus/db/src/schema"; 11 12import { createUser, getUser } from "./helpers"; 13 14export const adapter: Adapter = { 15 ...DrizzleAdapter(db, { 16 // @ts-expect-error: problem with type 17 usersTable: user, 18 // @ts-expect-error: problem with type 19 accountsTable: account, 20 // @ts-expect-error: problem with type 21 sessionsTable: session, 22 verificationTokensTable: verificationToken, 23 }), 24 createUser: async (data) => { 25 const user = await createUser(data); 26 return { 27 ...user, 28 id: user.id.toString(), 29 email: user.email || "", 30 }; 31 }, 32 getUser: async (id) => { 33 const user = await getUser(id); 34 if (!user) return null; 35 return { 36 ...user, 37 id: user.id.toString(), 38 email: user.email || "", 39 }; 40 }, 41};