Files
RekomenciBackend/src/template_project/web_api/ioc/data_gateway.py
T
ivankirpichnikov c868edebc9 не помнб
2025-11-22 18:18:23 +03:00

38 lines
1.8 KiB
Python

from dishka import BaseScope, Provider, Scope, WithParents, provide, provide_all
from template_project.adapters.data_gateways.access_token import DefaultAccessTokenDataGateway
from template_project.adapters.data_gateways.auth_identity import DefaultAuthIdentityDataGateway
from template_project.adapters.data_gateways.key_skills import KeySkillsDataGateway
from template_project.adapters.data_gateways.notification_device import DefaultNotificationDeviceDataGateway
from template_project.adapters.data_gateways.profile import DefaultProfileDataGateway
from template_project.adapters.data_gateways.resume import (
DefaultResumeDataGateway,
DefaultResumeEducationDataGateway,
DefaultResumeExperienceDataGateway,
DefaultResumePredictionDataGateway,
DefaultResumeProjectDataGateway,
)
from template_project.adapters.data_gateways.user import DefaultUserDataGateway
from template_project.adapters.data_gateways.vacancy import DefaultVacancyDataGateway
from template_project.adapters.unit_of_work import DefaultUnitOfWork
class DataGatewayProvider(Provider):
scope: BaseScope | None = Scope.REQUEST
unit_of_work = provide(WithParents[DefaultUnitOfWork])
data_gateways = provide_all(
KeySkillsDataGateway,
WithParents[DefaultVacancyDataGateway],
WithParents[DefaultUserDataGateway],
WithParents[DefaultAccessTokenDataGateway],
WithParents[DefaultAuthIdentityDataGateway],
WithParents[DefaultProfileDataGateway],
WithParents[DefaultNotificationDeviceDataGateway],
WithParents[DefaultResumeDataGateway],
WithParents[DefaultResumePredictionDataGateway],
WithParents[DefaultResumeExperienceDataGateway],
WithParents[DefaultResumeEducationDataGateway],
WithParents[DefaultResumeProjectDataGateway],
)