python-dependency-injector/examples/miniapps/fastapi-sqlalchemy/webapp/containers.py

25 lines
568 B
Python
Raw Normal View History

2021-02-04 16:10:10 +03:00
"""Containers module."""
from dependency_injector import containers, providers
from .database import Database
from .repositories import UserRepository
from .services import UserService
class Container(containers.DeclarativeContainer):
config = providers.Configuration()
db = providers.Singleton(Database, db_url=config.db.url)
users_repository = providers.Factory(
UserRepository,
session_factory=db.provided.session,
)
user_service = providers.Factory(
UserService,
users_repository=users_repository,
)