import { MongoClient } from "mongodb"; const MONGO_HOST = process.env.MONGO_HOST || "mongo"; const MONGO_PORT = process.env.MONGO_PORT || "27017"; const MONGO_DB = process.env.MONGO_DB || "dupe"; const MONGO_USER = process.env.MONGO_USER || "dupe"; const MONGO_PASS = process.env.MONGO_PASS || "dupe"; const MONGO_AUTH_SOURCE = process.env.MONGO_AUTH_SOURCE || "admin"; const DEFAULT_URI = `mongodb://${encodeURIComponent(MONGO_USER)}:${encodeURIComponent( MONGO_PASS )}@${MONGO_HOST}:${MONGO_PORT}/${encodeURIComponent(MONGO_DB)}?authSource=${encodeURIComponent( MONGO_AUTH_SOURCE )}`; const MONGO_URI = process.env.MONGO_URI || DEFAULT_URI; let client = null; let db = null; export async function connectMongo() { if (client && db) return { client, db }; const mongoClient = new MongoClient(MONGO_URI, { maxPoolSize: 10, serverSelectionTimeoutMS: 5000 }); await mongoClient.connect(); client = mongoClient; db = mongoClient.db(MONGO_DB); console.log(`📦 MongoDB bağlantısı hazır (db: ${db.databaseName})`); return { client, db }; } export function getDb() { return db; }