from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase from app.config import settings mongo_client: AsyncIOMotorClient | None = None mongo_db: AsyncIOMotorDatabase | None = None async def connect_mongo() -> None: global mongo_client, mongo_db mongo_client = AsyncIOMotorClient(settings.mongodb_url) mongo_db = mongo_client[settings.mongodb_db] async def close_mongo() -> None: global mongo_client, mongo_db if mongo_client: mongo_client.close() mongo_client = None mongo_db = None def get_mongo_db() -> AsyncIOMotorDatabase: if mongo_db is None: raise RuntimeError("MongoDB is not connected") return mongo_db