mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-03 06:27:11 +01:00
adopt to mongodb adapter changes
This commit is contained in:
committed by
Thomas Ruoff
parent
7196bd2e91
commit
893896cf31
12
db/index.ts
12
db/index.ts
@@ -5,16 +5,18 @@ import { BOOKING_STATUS } from './enums'
|
|||||||
|
|
||||||
let connectedPromise: Promise<mongoose.Mongoose>
|
let connectedPromise: Promise<mongoose.Mongoose>
|
||||||
|
|
||||||
|
const MONGODB_OPTIONS = {
|
||||||
|
useCreateIndex: true,
|
||||||
|
useNewUrlParser: true,
|
||||||
|
useUnifiedTopology: true,
|
||||||
|
}
|
||||||
|
|
||||||
export function connect(): Promise<mongoose.Mongoose> {
|
export function connect(): Promise<mongoose.Mongoose> {
|
||||||
if (connectedPromise) {
|
if (connectedPromise) {
|
||||||
return connectedPromise
|
return connectedPromise
|
||||||
}
|
}
|
||||||
|
|
||||||
connectedPromise = mongoose.connect(process.env.MONGO_URI, {
|
connectedPromise = mongoose.connect(process.env.MONGO_URI, MONGODB_OPTIONS)
|
||||||
useCreateIndex: true,
|
|
||||||
useNewUrlParser: true,
|
|
||||||
useUnifiedTopology: true,
|
|
||||||
})
|
|
||||||
|
|
||||||
return connectedPromise
|
return connectedPromise
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,13 +5,21 @@ import EmailProvider from "next-auth/providers/email"
|
|||||||
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"
|
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"
|
||||||
import { connect } from "../../../db"
|
import { connect } from "../../../db"
|
||||||
import { Mongoose } from 'mongoose';
|
import { Mongoose } from 'mongoose';
|
||||||
|
import type { MongoClient } from "mongodb";
|
||||||
|
|
||||||
let mongooseConnection: Mongoose;
|
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) {
|
export default async function auth(req: NextApiRequest, res: NextApiResponse) {
|
||||||
return await NextAuth(req, res, {
|
return await NextAuth(req, res, {
|
||||||
secret: process.env.NEXTAUTH_SECRET,
|
secret: process.env.NEXTAUTH_SECRET,
|
||||||
adapter: MongoDBAdapter({ db: (await connect()).connection.db }),
|
adapter: MongoDBAdapter(getMongoClient()),
|
||||||
providers: [
|
providers: [
|
||||||
EmailProvider({
|
EmailProvider({
|
||||||
server: {
|
server: {
|
||||||
|
|||||||
Reference in New Issue
Block a user