Files
auth/src/presentation/dependencies/commands.py
2026-05-19 22:29:02 +03:00

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)