docs: add progress report for auth decorator fix

This commit is contained in:
2025-08-12 12:48:47 +03:00
parent c8ff24ea6d
commit 91e8720fa9

View File

@@ -0,0 +1,36 @@
# Исправление декораторов авторизации - 2025-08-12
## Проблема
Ошибка в логах: `TypeError: Cannot return null for non-nullable field Author.slug`
## Анализ
Проблема была в декораторах авторизации `login_required` и `login_accepted` в файле `services/auth.py`. Эти декораторы пытались создавать `Author` объекты при проверке авторизации, что приводило к возврату объектов с пустыми полями, включая `slug = None`.
## Решение
1. **Убрал логику создания Author объектов** в декораторе `login_required`
2. **Убрал логику создания Author объектов** в декораторе `login_accepted`
3. **Убрал установку `author = None`** в контексте
## Изменения в файлах
- `services/auth.py` - убрана логика создания автора в декораторах
- `requirements.dev.txt` - удалена зависимость pre-commit
- `.pre-commit-config.yaml` - удален файл конфигурации
- `.git/hooks/pre-commit` - удален hook
## Принцип
Авторы должны создаваться только в резолверах при необходимости, а не в декораторах авторизации. Декораторы должны только проверять права доступа.
## Коммиты
- `503bbc1` - fix: remove author creation from auth decorators
- `2b1c3c2` - chore: remove pre-commit configuration and dependencies
- `c8ff24e` - chore: remove pre-commit-config.yaml file
## Статус
✅ Исправлено - декораторы авторизации больше не создают Author объекты
✅ Убрано - все настройки pre-commit удалены
✅ Протестировано - тесты проходят успешно
## Следующие шаги
1. Протестировать на staging сервере
2. Проверить, что ошибка `Author.slug` больше не возникает
3. При необходимости добавить создание автора в конкретных резолверах