circular-fix
Some checks failed
Deploy on push / deploy (push) Failing after 17s

This commit is contained in:
2025-08-17 16:33:54 +03:00
parent bc8447a444
commit e78e12eeee
65 changed files with 3304 additions and 1051 deletions

View File

@@ -5,7 +5,6 @@
import json
import secrets
import time
from typing import Optional
from services.redis import redis as redis_adapter
from utils.logger import root_logger as logger
@@ -24,7 +23,7 @@ class VerificationTokenManager(BaseTokenManager):
user_id: str,
verification_type: str,
data: TokenData,
ttl: Optional[int] = None,
ttl: int | None = None,
) -> str:
"""Создает токен подтверждения"""
token_data = {"verification_type": verification_type, **data}
@@ -41,7 +40,7 @@ class VerificationTokenManager(BaseTokenManager):
return await self._create_verification_token(user_id, token_data, ttl)
async def _create_verification_token(
self, user_id: str, token_data: TokenData, ttl: int, token: Optional[str] = None
self, user_id: str, token_data: TokenData, ttl: int, token: str | None = None
) -> str:
"""Оптимизированное создание токена подтверждения"""
verification_token = token or secrets.token_urlsafe(32)
@@ -61,12 +60,12 @@ class VerificationTokenManager(BaseTokenManager):
logger.info(f"Создан токен подтверждения {verification_type} для пользователя {user_id}")
return verification_token
async def get_verification_token_data(self, token: str) -> Optional[TokenData]:
async def get_verification_token_data(self, token: str) -> TokenData | None:
"""Получает данные токена подтверждения"""
token_key = self._make_token_key("verification", "", token)
return await redis_adapter.get_and_deserialize(token_key)
async def validate_verification_token(self, token_str: str) -> tuple[bool, Optional[TokenData]]:
async def validate_verification_token(self, token_str: str) -> tuple[bool, TokenData | None]:
"""Проверяет валидность токена подтверждения"""
token_key = self._make_token_key("verification", "", token_str)
token_data = await redis_adapter.get_and_deserialize(token_key)
@@ -74,7 +73,7 @@ class VerificationTokenManager(BaseTokenManager):
return True, token_data
return False, None
async def confirm_verification_token(self, token_str: str) -> Optional[TokenData]:
async def confirm_verification_token(self, token_str: str) -> TokenData | None:
"""Подтверждает и использует токен подтверждения (одноразовый)"""
token_data = await self.get_verification_token_data(token_str)
if token_data:
@@ -106,7 +105,7 @@ class VerificationTokenManager(BaseTokenManager):
await pipe.get(key)
results = await pipe.execute()
for key, data in zip(keys, results):
for key, data in zip(keys, results, strict=False):
if data:
try:
token_data = json.loads(data)
@@ -141,7 +140,7 @@ class VerificationTokenManager(BaseTokenManager):
results = await pipe.execute()
# Проверяем какие токены нужно удалить
for key, data in zip(keys, results):
for key, data in zip(keys, results, strict=False):
if data:
try:
token_data = json.loads(data)