File size: 566 Bytes
b8fc47f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from typing import Optional

from motor.motor_asyncio import AsyncIOMotorClient

from .config import MONGO_DB, MONGO_URI

mongo_client: Optional[AsyncIOMotorClient] = None
db = None


async def connect_to_mongo():
    """Create a single shared Mongo client + DB handle."""
    global mongo_client, db

    if mongo_client:
        return db

    mongo_client = AsyncIOMotorClient(MONGO_URI)
    db = mongo_client[MONGO_DB]
    return db


async def close_mongo():
    global mongo_client
    if mongo_client:
        mongo_client.close()
        mongo_client = None