feat: add import

This commit is contained in:
2026-06-04 18:09:06 +03:00
parent 62a48c3f70
commit aabea07293
8 changed files with 21 additions and 19 deletions

View File

@@ -23,16 +23,18 @@ class AdminLoginCommand:
self._logger = logger
@transactional
async def __call__(self, *, email: str, password: str) -> AdminLoginDto:
email = (email or '').strip().lower()
admin = await self._unit_of_work.admin_user_repository.get_by_email(email)
async def __call__(self, *, login: str, password: str) -> AdminLoginDto:
login = (login or '').strip()
if not login:
raise ApplicationException(status_code=400, message='Login is required')
admin = await self._unit_of_work.admin_user_repository.get_by_login(login)
if not admin.is_active:
raise ApplicationException(status_code=403, message='Admin account is inactive')
ok = await self._hash_service.verify(plain_value=password, hashed_value=admin.password_hash)
if not ok:
self._logger.warning(f'Admin login failed for {email}')
self._logger.warning(f'Admin login failed for {login}')
raise ApplicationException(status_code=401, message='Invalid credentials')
now = datetime.now(timezone.utc)
@@ -47,7 +49,7 @@ class AdminLoginCommand:
return AdminLoginDto(
id=admin.id,
email=admin.email,
login=admin.login,
first_name=admin.first_name,
last_name=admin.last_name,
role=admin.role,