Update src/database.py
Browse files- src/database.py +12 -4
src/database.py
CHANGED
|
@@ -7,9 +7,17 @@ from dotenv import load_dotenv
|
|
| 7 |
load_dotenv()
|
| 8 |
|
| 9 |
# MongoDB Configuration
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# Global variables for lazy initialization
|
| 15 |
_client = None
|
|
@@ -23,7 +31,7 @@ def get_database_connection():
|
|
| 23 |
if _client is None:
|
| 24 |
_client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000)
|
| 25 |
_client.admin.command('ping')
|
| 26 |
-
_db = _client[
|
| 27 |
_collection = _db[COLLECTION_NAME]
|
| 28 |
|
| 29 |
return _client, _db, _collection
|
|
|
|
| 7 |
load_dotenv()
|
| 8 |
|
| 9 |
# MongoDB Configuration
|
| 10 |
+
MONGO_USERNAME = os.getenv("MONGO_USERNAME")
|
| 11 |
+
MONGO_PASSWORD = os.getenv("MONGO_PASSWORD")
|
| 12 |
+
MONGO_HOST = os.getenv("MONGO_HOST")
|
| 13 |
+
MONGO_DB = os.getenv("MONGO_DB")
|
| 14 |
+
COLLECTION_NAME = os.getenv("MONGO_COLLECTION", "analyses")
|
| 15 |
+
|
| 16 |
+
# Build MongoDB URI
|
| 17 |
+
if MONGO_USERNAME and MONGO_PASSWORD:
|
| 18 |
+
MONGO_URI = f"mongodb://{MONGO_USERNAME}:{MONGO_PASSWORD}@{MONGO_HOST}/{MONGO_DB}"
|
| 19 |
+
else:
|
| 20 |
+
MONGO_URI = f"mongodb://{MONGO_HOST}/{MONGO_DB}"
|
| 21 |
|
| 22 |
# Global variables for lazy initialization
|
| 23 |
_client = None
|
|
|
|
| 31 |
if _client is None:
|
| 32 |
_client = MongoClient(MONGO_URI, serverSelectionTimeoutMS=5000)
|
| 33 |
_client.admin.command('ping')
|
| 34 |
+
_db = _client[MONGO_DB]
|
| 35 |
_collection = _db[COLLECTION_NAME]
|
| 36 |
|
| 37 |
return _client, _db, _collection
|