24 lines
747 B
Python
24 lines
747 B
Python
from flask_pymongo import PyMongo
|
|
from flask import Flask
|
|
from configs import Config
|
|
from di_container import Container # Import your container
|
|
|
|
|
|
def init_db(app: Flask, container: Container) -> PyMongo:
|
|
try:
|
|
app.config["MONGO_URI"] = Config.MONGO_URI
|
|
mongo = PyMongo(app) # Initialize PyMongo with the app
|
|
print(f"Connecting to MongoDB: {Config.MONGO_URI}")
|
|
|
|
mongo.cx.server_info() # Ping the MongoDB server
|
|
print("✅ MongoDB connection successful!")
|
|
|
|
# Store the MongoDB instance in the container
|
|
container.mongo.override(mongo)
|
|
|
|
return mongo
|
|
|
|
except Exception as e:
|
|
print(f"❌ MongoDB connection failed: {e}")
|
|
return None # Handle failure gracefully
|