| from motor.motor_asyncio import AsyncIOMotorClient | |
| from config import settings | |
| import logging | |
| logger = logging.getLogger(__name__) | |
| class Database: | |
| client: AsyncIOMotorClient = None | |
| db = None | |
| async def connect_to_storage(self): | |
| self.client = AsyncIOMotorClient(settings.MONGODB_URL) | |
| self.db = self.client.get_database(settings.MONGODB_DB_NAME) | |
| logger.info(f"Connected to MongoDB database: {settings.MONGODB_DB_NAME}") | |
| async def close_storage(self): | |
| if self.client: | |
| self.client.close() | |
| logger.info("Closed MongoDB connection") | |
| db = Database() | |
| async def get_database(): | |
| return db.db | |