Openstatus www.openstatus.dev
at 330f418b742e424fe033d69bcd917f761856fa3e 42 lines 925 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-ignore 17 usersTable: user, 18 // @ts-ignore 19 accountsTable: account, 20 // @ts-ignore 21 sessionsTable: session, 22 // @ts-ignore 23 verificationTokensTable: verificationToken, 24 }), 25 createUser: async (data) => { 26 const user = await createUser(data); 27 return { 28 ...user, 29 id: user.id.toString(), 30 email: user.email || "", 31 }; 32 }, 33 getUser: async (id) => { 34 const user = await getUser(id); 35 if (!user) return null; 36 return { 37 ...user, 38 id: user.id.toString(), 39 email: user.email || "", 40 }; 41 }, 42};