This commit is contained in:
@@ -37,6 +37,11 @@
|
|||||||
- Заменены `logger.error` на `logger.warning` для стандартных проверок авторизации
|
- Заменены `logger.error` на `logger.warning` для стандартных проверок авторизации
|
||||||
- Убраны трейсбеки из логов при обычных ошибках входа и обновления токенов
|
- Убраны трейсбеки из логов при обычных ошибках входа и обновления токенов
|
||||||
- Исправлены дублирующие slug в тестовых фикстурах, вызывавшие UNIQUE constraint ошибки
|
- Исправлены дублирующие slug в тестовых фикстурах, вызывавшие UNIQUE constraint ошибки
|
||||||
|
- **Улучшена тестовая инфраструктура**: Автоматический запуск фронтенда и бэкенда в тестах
|
||||||
|
- Добавлена фикстура `frontend_server` для автоматического запуска фронтенд сервера
|
||||||
|
- Обновлены тесты здоровья серверов для использования фикстур вместо пропуска
|
||||||
|
- Автоматическая установка npm зависимостей при запуске фронтенд тестов
|
||||||
|
- Корректное завершение серверных процессов после выполнения тестов
|
||||||
|
|
||||||
|
|
||||||
### 🔧 Техническое
|
### 🔧 Техническое
|
||||||
|
|||||||
@@ -131,7 +131,9 @@ async def validate_graphql_context(info: GraphQLResolveInfo) -> None:
|
|||||||
msg = "Internal server error: unable to set authentication context"
|
msg = "Internal server error: unable to set authentication context"
|
||||||
raise GraphQLError(msg)
|
raise GraphQLError(msg)
|
||||||
except exc.NoResultFound:
|
except exc.NoResultFound:
|
||||||
logger.warning(f"[validate_graphql_context] Пользователь с ID {auth_state.author_id} не найден в базе данных")
|
logger.warning(
|
||||||
|
f"[validate_graphql_context] Пользователь с ID {auth_state.author_id} не найден в базе данных"
|
||||||
|
)
|
||||||
msg = "UnauthorizedError - user not found"
|
msg = "UnauthorizedError - user not found"
|
||||||
raise GraphQLError(msg) from None
|
raise GraphQLError(msg) from None
|
||||||
|
|
||||||
|
|||||||
@@ -362,11 +362,11 @@ class AuthService:
|
|||||||
if not author:
|
if not author:
|
||||||
logger.warning(f"Пользователь {email} не найден")
|
logger.warning(f"Пользователь {email} не найден")
|
||||||
return {"success": False, "token": None, "author": None, "error": "Пользователь не найден"}
|
return {"success": False, "token": None, "author": None, "error": "Пользователь не найден"}
|
||||||
|
|
||||||
# 🩵 Проверяем права с обработкой ошибок RBAC
|
# 🩵 Проверяем права с обработкой ошибок RBAC
|
||||||
is_admin_email = author.email in ADMIN_EMAILS.split(",")
|
is_admin_email = author.email in ADMIN_EMAILS.split(",")
|
||||||
has_reader_role = False
|
has_reader_role = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
user_roles = get_user_roles_in_community(int(author.id), community_id=1)
|
user_roles = get_user_roles_in_community(int(author.id), community_id=1)
|
||||||
has_reader_role = "reader" in user_roles
|
has_reader_role = "reader" in user_roles
|
||||||
|
|||||||
Reference in New Issue
Block a user