from motor.motor_asyncio import AsyncIOMotorClient from config import config class Database: client: AsyncIOMotorClient = None db = Database() async def connect_db(): db.client = AsyncIOMotorClient(config.MONGO_URI) db.database = db.client[config.DATABASE_NAME] db.products = db.database.products db.orders = db.database.orders db.users = db.database.users await db.products.create_index("category") await db.users.create_index("user_id", unique=True) async def close_db(): if db.client: db.client.close() def get_db(): return db