TradingAgents/backend/utils/containers.py

30 lines
817 B
Python

from dependency_injector import containers, providers
from utils.database import get_session
from utils.crypto import Crypto
from member.infra.repository.member_repo import MemberRepository
from member.application.member_service import MemberService
from ulid import ULID
class Container(containers.DeclarativeContainer):
wiring_config = containers.WiringConfiguration(
packages=["member", "session"]
)
db_session = providers.Resource(get_session)
crypto = providers.Factory(Crypto)
ulid = providers.Factory(ULID)
member_repo = providers.Factory(
MemberRepository,
session=db_session
)
member_service = providers.Factory(
MemberService,
member_repo=member_repo,
crypto=crypto,
db_session=db_session,
ulid=ulid
)