60 lines
2.1 KiB
Python
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,
|
|
) |