init
This commit is contained in:
25
app/db/mongo.py
Normal file
25
app/db/mongo.py
Normal 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
|
||||
Reference in New Issue
Block a user