This commit is contained in:
aurinex
2025-12-15 14:08:07 +05:00
commit 32c34e78f7
14 changed files with 329 additions and 0 deletions

25
app/db/mongo.py Normal file
View File

@ -0,0 +1,25 @@
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase
from app.core.config import settings
_client: AsyncIOMotorClient | None = None
_db: AsyncIOMotorDatabase | None = None
async def connect_mongo() -> None:
global _client, _db
_client = AsyncIOMotorClient(settings.mongo_uri)
_db = _client[settings.mongo_db]
async def close_mongo() -> None:
global _client, _db
if _client is not None:
_client.close()
_client = None
_db = None
def get_db() -> AsyncIOMotorDatabase:
if _db is None:
raise RuntimeError("MongoDB is not connected")
return _db