add mongo adapter via mongoose

This commit is contained in:
Thomas Ruoff
2021-10-27 00:43:25 +02:00
parent 803ea09817
commit b2a1724bf3
2 changed files with 29 additions and 22 deletions

View File

@@ -3,11 +3,11 @@ import BookingModel, { Booking, BookingDocument } from './booking'
import BillModel, { Bill } from './bill'
import { BOOKING_STATUS } from './enums'
let connectedPromise: Promise<typeof mongoose>
let connectedPromise: Promise<mongoose.Mongoose>
function connect(): Promise<typeof mongoose> {
export function connect(): Promise<mongoose.Mongoose> {
if (connectedPromise) {
return
return connectedPromise
}
connectedPromise = mongoose.connect(process.env.MONGO_URI, {

View File

@@ -1,8 +1,16 @@
import { NextApiRequest, NextApiResponse } from 'next'
import NextAuth from "next-auth"
import GithubProvider from "next-auth/providers/github"
import EmailProvider from "next-auth/providers/email"
export default NextAuth({
import { MongoDBAdapter } from "@next-auth/mongodb-adapter"
import { connect } from "../../../db"
import { Mongoose } from 'mongoose';
let mongooseConnection: Mongoose;
export default async function auth(req: NextApiRequest, res: NextApiResponse) {
return await NextAuth(req, res, {
adapter: MongoDBAdapter({ db: (await connect()).connection.db }),
providers: [
EmailProvider({
server: {
@@ -15,9 +23,8 @@ export default NextAuth({
},
from: process.env.FROM_EMAIL
}),
GithubProvider({
clientId: process.env.GITHUB_ID,
clientSecret: process.env.GITHUB_SECRET,
}),
],
})
})
}