From 893896cf31f7e48b02fc10da5fe5cef0af585d17 Mon Sep 17 00:00:00 2001 From: Thomas Ruoff Date: Wed, 8 Dec 2021 23:01:40 +0100 Subject: [PATCH] adopt to mongodb adapter changes --- db/index.ts | 12 +++++++----- pages/api/auth/[...nextauth].ts | 10 +++++++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/db/index.ts b/db/index.ts index d37718e..b8fcdb9 100644 --- a/db/index.ts +++ b/db/index.ts @@ -5,16 +5,18 @@ import { BOOKING_STATUS } from './enums' let connectedPromise: Promise +const MONGODB_OPTIONS = { + useCreateIndex: true, + useNewUrlParser: true, + useUnifiedTopology: true, +} + export function connect(): Promise { if (connectedPromise) { return connectedPromise } - connectedPromise = mongoose.connect(process.env.MONGO_URI, { - useCreateIndex: true, - useNewUrlParser: true, - useUnifiedTopology: true, - }) + connectedPromise = mongoose.connect(process.env.MONGO_URI, MONGODB_OPTIONS) return connectedPromise } diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts index 0ffb8c5..13b9dd3 100644 --- a/pages/api/auth/[...nextauth].ts +++ b/pages/api/auth/[...nextauth].ts @@ -5,13 +5,21 @@ import EmailProvider from "next-auth/providers/email" import { MongoDBAdapter } from "@next-auth/mongodb-adapter" import { connect } from "../../../db" import { Mongoose } from 'mongoose'; +import type { MongoClient } from "mongodb"; let mongooseConnection: Mongoose; +async function getMongoClient() { + const mongoose: Mongoose = await connect(); + + const mongoDatabase: unknown = mongoose.connection.db; + return mongoDatabase as MongoClient; +} + export default async function auth(req: NextApiRequest, res: NextApiResponse) { return await NextAuth(req, res, { secret: process.env.NEXTAUTH_SECRET, - adapter: MongoDBAdapter({ db: (await connect()).connection.db }), + adapter: MongoDBAdapter(getMongoClient()), providers: [ EmailProvider({ server: {