mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* refactor(ts): export `AdapterAccount` from `next-auth/adapters` * chore: run linter, remove prisma warning * fix(ts): match TS with implementation closer * remove unused import * rename error * add missing dev dependency * fix type * fix type * fix more types and tests * remove unused `id` * skip upstash tests in CI * revert some changes * fix type * revert some change * revert some change * revert some change * revert some changes * update lock file * revert line change * revert some change * improve adapter & oauth typing * fix test, revert * apply review suggestion * Add test for new rejection logics * Update assert.test.ts * fix: Hubspot config * restore some ts-expect-error * fix: tests in mirko-orm * fix: remove redundant id: string * fix: use ts-expect-errors * fix: simplify provider type * fix: normalize user options * restore ts-expect-errors Co-authored-by: Thang Vu <hi@thvu.dev>
49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import { randomUUID, runBasicTests } from "@next-auth/adapter-test"
|
|
import { PrismaClient } from "@prisma/client"
|
|
import { PrismaAdapter } from "../src"
|
|
import { ObjectId } from "mongodb"
|
|
const prisma = new PrismaClient()
|
|
|
|
runBasicTests({
|
|
adapter: PrismaAdapter(prisma),
|
|
db: {
|
|
id() {
|
|
if (process.env.CONTAINER_NAME === "next-auth-mongodb-test") {
|
|
return new ObjectId().toHexString()
|
|
}
|
|
return randomUUID()
|
|
},
|
|
connect: async () => {
|
|
await Promise.all([
|
|
prisma.user.deleteMany({}),
|
|
prisma.account.deleteMany({}),
|
|
prisma.session.deleteMany({}),
|
|
prisma.verificationToken.deleteMany({}),
|
|
])
|
|
},
|
|
disconnect: async () => {
|
|
await Promise.all([
|
|
prisma.user.deleteMany({}),
|
|
prisma.account.deleteMany({}),
|
|
prisma.session.deleteMany({}),
|
|
prisma.verificationToken.deleteMany({}),
|
|
])
|
|
await prisma.$disconnect()
|
|
},
|
|
user: (id) => prisma.user.findUnique({ where: { id } }),
|
|
account: (provider_providerAccountId) =>
|
|
prisma.account.findUnique({ where: { provider_providerAccountId } }),
|
|
session: (sessionToken) =>
|
|
prisma.session.findUnique({ where: { sessionToken } }),
|
|
async verificationToken(identifier_token) {
|
|
const result = await prisma.verificationToken.findUnique({
|
|
where: { identifier_token },
|
|
})
|
|
if (!result) return null
|
|
// @ts-ignore // MongoDB needs an ID, but we don't
|
|
delete result.id
|
|
return result
|
|
},
|
|
},
|
|
})
|