100 lines
3.4 KiB
Python
100 lines
3.4 KiB
Python
from fastapi import Depends
|
|
from src.application.abstractions import IUnitOfWork
|
|
from src.application.commands import (
|
|
UserRegistrationCompleteCommand,
|
|
JwtRefreshCommand,
|
|
UserRegistrationStartCommand,
|
|
UserLogoutCommand,
|
|
UserLoginCompleteCommand,
|
|
UserLoginStartCommand
|
|
)
|
|
from src.application.contracts import IHashService, IJwtService, ILogger, IQueueMessanger
|
|
from src.application.contracts import ICache
|
|
from src.presentation.dependencies.queue_messanger import get_rabbit
|
|
from src.presentation.dependencies.cache import get_cache
|
|
from src.presentation.dependencies.logger import get_logger
|
|
from src.presentation.dependencies.security import get_hash_service, get_jwt_service
|
|
from src.presentation.dependencies.unit_of_work import get_unit_of_work
|
|
|
|
|
|
def get_user_registration_start_command(
|
|
logger: ILogger = Depends(get_logger),
|
|
hash_service: IHashService = Depends(get_hash_service),
|
|
cache: ICache = Depends(get_cache),
|
|
unit_of_work: IUnitOfWork = Depends(get_unit_of_work),
|
|
messanger: IQueueMessanger = Depends(get_rabbit),
|
|
) -> UserRegistrationStartCommand:
|
|
return UserRegistrationStartCommand(
|
|
logger=logger,
|
|
unit_of_work=unit_of_work,
|
|
hash_service=hash_service,
|
|
cache=cache,
|
|
messanger=messanger,
|
|
)
|
|
|
|
|
|
def get_user_registration_complete_command(
|
|
uow: IUnitOfWork = Depends(get_unit_of_work),
|
|
logger: ILogger = Depends(get_logger),
|
|
hash_service: IHashService = Depends(get_hash_service),
|
|
jwt_service: IJwtService = Depends(get_jwt_service),
|
|
cache: ICache = Depends(get_cache),
|
|
) -> UserRegistrationCompleteCommand:
|
|
return UserRegistrationCompleteCommand(
|
|
unit_of_work=uow,
|
|
logger=logger,
|
|
hash_service=hash_service,
|
|
jwt_service=jwt_service,
|
|
cache=cache
|
|
)
|
|
|
|
def get_user_login_start_command(
|
|
logger: ILogger = Depends(get_logger),
|
|
hash_service: IHashService = Depends(get_hash_service),
|
|
cache: ICache = Depends(get_cache),
|
|
unit_of_work: IUnitOfWork = Depends(get_unit_of_work),
|
|
messanger: IQueueMessanger = Depends(get_rabbit),
|
|
) -> UserLoginStartCommand:
|
|
return UserLoginStartCommand(
|
|
logger=logger,
|
|
unit_of_work=unit_of_work,
|
|
hash_service=hash_service,
|
|
cache=cache,
|
|
messanger=messanger,
|
|
)
|
|
|
|
|
|
|
|
def get_user_login_complete_command(
|
|
uow: IUnitOfWork = Depends(get_unit_of_work),
|
|
logger: ILogger = Depends(get_logger),
|
|
hash_service: IHashService = Depends(get_hash_service),
|
|
jwt_service: IJwtService = Depends(get_jwt_service),
|
|
cache: ICache = Depends(get_cache),
|
|
) -> UserLoginCompleteCommand:
|
|
return UserLoginCompleteCommand(
|
|
unit_of_work=uow,
|
|
logger=logger,
|
|
hash_service=hash_service,
|
|
jwt_service=jwt_service,
|
|
cache=cache
|
|
)
|
|
|
|
|
|
def get_user_logout_command(
|
|
uow: IUnitOfWork = Depends(get_unit_of_work),
|
|
jwt_service: IJwtService = Depends(get_jwt_service),
|
|
logger: ILogger = Depends(get_logger),
|
|
) -> UserLogoutCommand:
|
|
return UserLogoutCommand(unit_of_work=uow, logger=logger, jwt_service=jwt_service)
|
|
|
|
|
|
def get_jwt_refresh_command(
|
|
uow: IUnitOfWork = Depends(get_unit_of_work),
|
|
hash_service: IHashService = Depends(get_hash_service),
|
|
jwt_service: IJwtService = Depends(get_jwt_service),
|
|
cache: ICache = Depends(get_cache),
|
|
logger: ILogger = Depends(get_logger),
|
|
) -> JwtRefreshCommand:
|
|
return JwtRefreshCommand(uow, hash_service, jwt_service, cache, logger)
|