-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontainer.py
More file actions
30 lines (24 loc) · 1.27 KB
/
Copy pathcontainer.py
File metadata and controls
30 lines (24 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from config import settings
from core.repository.user_repository import UserRepository
from core.services.auth_service import AuthService
from core.services.character_service import CharacterService
from core.services.user_service import UserService
from core.repository.character_repository import CharacterRepository
from dependency_injector import containers, providers
from db.database import Database
class Container(containers.DeclarativeContainer):
# config = providers.Configuration(pydantic_settings=[Configs()])
wiring_config = containers.WiringConfiguration(
modules=[
"app.api.endpoints.auth",
"app.api.endpoints.users",
"app.api.endpoints.characters",
"core.dependencies"
]
)
db = providers.Singleton(Database, db_url=settings.database_url)
user_repository = providers.Factory(UserRepository, session_factory=db.provided.session)
character_repository = providers.Factory(CharacterRepository, session_factory=db.provided.session)
auth_service = providers.Factory(AuthService, user_repository=user_repository)
user_service = providers.Factory(UserService, user_repository=user_repository)
character_service = providers.Factory(CharacterService, character_repository=character_repository)