Files
kyc/src/presentation/dependencies/commands.py
2026-05-12 00:26:21 +03:00

40 lines
1.3 KiB
Python

from __future__ import annotations
from fastapi import Depends
from src.application.abstractions import IUnitOfWork
from src.application.commands import GetKycSessionCommand,PassKycCommand
from src.application.contracts import IBeorgService,ILogger
from src.infrastructure.config import settings
from src.infrastructure.beorg import BeorgService
from src.presentation.dependencies.logger import get_logger
from src.presentation.dependencies.unit_of_work import get_unit_of_work
def get_beorg_service() -> IBeorgService:
return BeorgService(
project_id=settings.BEORG_PROJECT_ID,
machine_uid=settings.BEORG_MACHINE_UID,
token=settings.BEORG_TOKEN,
process_info=settings.BEORG_PROCESS_INFO,
timeout=settings.BEORG_TIMEOUT,
)
def get_pass_kyc_command(
logger: ILogger = Depends(get_logger),
unit_of_work: IUnitOfWork = Depends(get_unit_of_work),
beorg_service: IBeorgService = Depends(get_beorg_service),
) -> PassKycCommand:
return PassKycCommand(
unit_of_work=unit_of_work,
logger=logger,
beorg_service=beorg_service,
)
def get_kyc_session_command(
unit_of_work: IUnitOfWork = Depends(get_unit_of_work),
) -> GetKycSessionCommand:
return GetKycSessionCommand(
unit_of_work=unit_of_work,
)