refactor: Use MongoDB singleton for connection management

This commit is contained in:
kom-senapati
2024-10-18 09:18:15 +05:30
parent 7bf79675c1
commit 83f2fb1e62
6 changed files with 35 additions and 10 deletions

View File

@@ -0,0 +1,25 @@
from application.core import settings
from pymongo import MongoClient
from flask import current_app, g
class MongoDB:
_client = None
@classmethod
def get_client(cls):
"""
Get the MongoDB client instance, creating it if necessary.
"""
if cls._client is None:
cls._client = MongoClient(settings.MONGO_URI)
return cls._client
@classmethod
def close_client(cls):
"""
Close the MongoDB client connection.
"""
if cls._client is not None:
cls._client.close()
cls._client = None