from dependency_injector import containers, providers from repositories.user_repository import UserRepository from services import UserService, AuthService from controllers import AuthController from flask_pymongo import PyMongo class Container(containers.DeclarativeContainer): """Dependency Injection Container""" mongo = providers.Dependency() google_auth = providers.Dependency() # repository user_repository = providers.Factory(UserRepository, mongo.provided.db) # services auth_service = providers.Factory(AuthService, user_repository) user_service = providers.Factory(UserService, user_repository) # controllers auth_controller = providers.Factory( AuthController, user_service, auth_service, google_auth )