import mongoose from "mongoose"; import { env } from "./env.js"; let connectPromise = null; export function isDatabaseReady() { return mongoose.connection.readyState === 1; } export function connectDatabase() { if (!connectPromise) { connectPromise = mongoose.connect(env.mongoUri).catch((error) => { connectPromise = null; throw error; }); } return connectPromise; } export function scheduleReconnect(delayMs = 5000) { setTimeout(() => { connectDatabase() .then(() => { console.log("MongoDB connected"); }) .catch((error) => { console.error("Database connection failed", error.message); scheduleReconnect(delayMs); }); }, delayMs); }