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

60 lines
2.1 KiB
Python

from __future__ import annotations
from fastapi import Depends
from src.application.abstractions import IUnitOfWork
from src.application.commands import CompleteKycCommand,GetKycSessionCommand,PassKycCommand
from src.application.contracts import IBeorgService,ICache,ILogger,IQueueMessanger
from src.infrastructure.config import settings
from src.infrastructure.beorg import BeorgService
from src.presentation.dependencies.cache import get_cache
from src.presentation.dependencies.logger import get_logger
from src.presentation.dependencies.queue_messanger import get_rabbit
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),
cache: ICache = Depends(get_cache),
beorg_service: IBeorgService = Depends(get_beorg_service),
) -> PassKycCommand:
return PassKycCommand(
unit_of_work=unit_of_work,
logger=logger,
cache=cache,
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,
)
def get_complete_kyc_command(
logger: ILogger = Depends(get_logger),
unit_of_work: IUnitOfWork = Depends(get_unit_of_work),
cache: ICache = Depends(get_cache),
beorg_service: IBeorgService = Depends(get_beorg_service),
queue_messanger: IQueueMessanger = Depends(get_rabbit),
) -> CompleteKycCommand:
return CompleteKycCommand(
unit_of_work=unit_of_work,
logger=logger,
cache=cache,
beorg_service=beorg_service,
queue_messanger=queue_messanger,
verified_queue=settings.RABBIT_KYC_VERIFIED_QUEUE,
)