TIF_E41211115_Genso_quiz_ba.../app/di_container.py

24 lines
771 B
Python

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
)