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

@@ -4,7 +4,7 @@
import json
import time
from typing import Any, List, Optional, Union
from typing import Any, List
from auth.jwtcodec import JWTCodec
from services.redis import redis as redis_adapter
@@ -22,9 +22,9 @@ class SessionTokenManager(BaseTokenManager):
async def create_session(
self,
user_id: str,
auth_data: Optional[dict] = None,
username: Optional[str] = None,
device_info: Optional[dict] = None,
auth_data: dict | None = None,
username: str | None = None,
device_info: dict | None = None,
) -> str:
"""Создает токен сессии"""
session_data = {}
@@ -75,7 +75,7 @@ class SessionTokenManager(BaseTokenManager):
logger.info(f"Создан токен сессии для пользователя {user_id}")
return session_token
async def get_session_data(self, token: str, user_id: Optional[str] = None) -> Optional[TokenData]:
async def get_session_data(self, token: str, user_id: str | None = None) -> TokenData | None:
"""Получение данных сессии"""
if not user_id:
# Извлекаем user_id из JWT
@@ -97,7 +97,7 @@ class SessionTokenManager(BaseTokenManager):
token_data = results[0] if results else None
return dict(token_data) if token_data else None
async def validate_session_token(self, token: str) -> tuple[bool, Optional[TokenData]]:
async def validate_session_token(self, token: str) -> tuple[bool, TokenData | None]:
"""
Проверяет валидность токена сессии
"""
@@ -163,7 +163,7 @@ class SessionTokenManager(BaseTokenManager):
return len(tokens)
async def get_user_sessions(self, user_id: Union[int, str]) -> List[TokenData]:
async def get_user_sessions(self, user_id: int | str) -> List[TokenData]:
"""Получение сессий пользователя"""
try:
user_tokens_key = self._make_user_tokens_key(str(user_id), "session")
@@ -180,7 +180,7 @@ class SessionTokenManager(BaseTokenManager):
await pipe.hgetall(self._make_token_key("session", str(user_id), token_str))
results = await pipe.execute()
for token, session_data in zip(tokens, results):
for token, session_data in zip(tokens, results, strict=False):
if session_data:
token_str = token if isinstance(token, str) else str(token)
session_dict = dict(session_data)
@@ -193,7 +193,7 @@ class SessionTokenManager(BaseTokenManager):
logger.error(f"Ошибка получения сессий пользователя: {e}")
return []
async def refresh_session(self, user_id: int, old_token: str, device_info: Optional[dict] = None) -> Optional[str]:
async def refresh_session(self, user_id: int, old_token: str, device_info: dict | None = None) -> str | None:
"""
Обновляет сессию пользователя, заменяя старый токен новым
"""
@@ -226,7 +226,7 @@ class SessionTokenManager(BaseTokenManager):
logger.error(f"Ошибка обновления сессии: {e}")
return None
async def verify_session(self, token: str) -> Optional[Any]:
async def verify_session(self, token: str) -> Any | None:
"""
Проверяет сессию по токену для совместимости с TokenStorage
"""