import mongoose from "mongoose"; declare global { var mongoose: { conn: mongoose.Mongoose | null; promise: Promise | null } } let cached = global.mongoose; if (!cached) { cached = global.mongoose = { conn: null, promise: null } } export async function connectDB() { if (cached.conn) return cached.conn; if (!process.env.MONGODB_URI) { throw new Error("Please define MONGODB_URI in your environment variables") } if (!cached.promise) { cached.promise = mongoose.connect(process.env.MONGODB_URI).then((mongoose) => mongoose) } cached.conn = await cached.promise; return cached.conn; }