Commit Graph

209 Commits

Author SHA1 Message Date
de94408e04 tests-fix
Some checks failed
Deploy on push / deploy (push) Failing after 2m41s
2025-08-24 22:14:47 +03:00
b1370d1eeb unpublish-fixing 2025-08-23 19:35:44 +03:00
b4f683a7cc fmt
Some checks failed
Deploy on push / deploy (push) Failing after 36s
2025-08-23 10:47:52 +03:00
1b48675b92 [0.9.7] - 2025-08-18
Some checks failed
Deploy on push / deploy (push) Failing after 2m22s
### 🔄 Изменения
- **SQLAlchemy KeyError** - исправление ошибки `KeyError: Reaction` при инициализации
- **Исправлена ошибка SQLAlchemy**: Устранена проблема `InvalidRequestError: When initializing mapper Mapper[Shout(shout)], expression Reaction failed to locate a name (Reaction)`

### 🧪 Тестирование
- **Исправление тестов** - адаптация к новой структуре моделей
- **RBAC инициализация** - добавление `rbac.initialize_rbac()` в `conftest.py`
- **Создан тест для getSession**: Добавлен комплексный тест `test_getSession_cookies.py` с проверкой всех сценариев
- **Покрытие edge cases**: Тесты проверяют работу с валидными/невалидными токенами, отсутствующими пользователями
- **Мокирование зависимостей**: Использование unittest.mock для изоляции тестируемого кода

### 🔧 Рефакторинг
- **Упрощена архитектура**: Убраны сложные конструкции с отложенными импортами, заменены на чистую архитектуру
- **Перемещение моделей** - `Author` и связанные модели перенесены в `orm/author.py`: Вынесены базовые модели пользователей (`Author`, `AuthorFollower`, `AuthorBookmark`, `AuthorRating`) из `orm.author` в отдельный модуль
- **Устранены циклические импорты**: Разорван цикл между `auth.core` → `orm.community` → `orm.author` через реструктуризацию архитектуры
- **Создан модуль `utils/password.py`**: Класс `Password` вынесен в utils для избежания циклических зависимостей
- **Оптимизированы импорты моделей**: Убран прямой импорт `Shout` из `orm/community.py`, заменен на строковые ссылки

### 🔧 Авторизация с cookies
- **getSession теперь работает с cookies**: Мутация `getSession` теперь может получать токен из httpOnly cookies даже без заголовка Authorization
- **Убрано требование авторизации**: `getSession` больше не требует декоратор `@login_required`, работает автономно
- **Поддержка dual-авторизации**: Токен может быть получен как из заголовка Authorization, так и из cookie `session_token`
- **Автоматическая установка cookies**: Middleware автоматически устанавливает httpOnly cookies при успешном `getSession`
- **Обновлена GraphQL схема**: `SessionInfo` теперь содержит поля `success`, `error` и опциональные `token`, `author`
- **Единообразная обработка токенов**: Все модули теперь используют централизованные функции для работы с токенами
- **Улучшена обработка ошибок**: Добавлена детальная валидация токенов и пользователей в `getSession`
- **Логирование операций**: Добавлены подробные логи для отслеживания процесса авторизации

### 📝 Документация
- **Обновлена схема GraphQL**: `SessionInfo` тип теперь соответствует новому формату ответа
- Обновлена документация RBAC
- Обновлена документация авторизации с cookies
2025-08-18 14:25:25 +03:00
9a2b792f08 refactored
Some checks failed
Deploy on push / deploy (push) Failing after 6s
2025-08-17 17:56:31 +03:00
e78e12eeee circular-fix
Some checks failed
Deploy on push / deploy (push) Failing after 17s
2025-08-17 16:33:54 +03:00
e7230ba63c tests-passed 2025-07-31 18:55:59 +03:00
3327976586 Improve topic sorting: add popular sorting by publications and authors count 2025-06-02 02:56:11 +03:00
97d2b914b7 login-fix+draft_create-fix
All checks were successful
Deploy on push / deploy (push) Successful in 6s
2025-05-29 17:09:32 +03:00
4070f4fcde linted+fmt
All checks were successful
Deploy on push / deploy (push) Successful in 6s
2025-05-29 12:37:39 +03:00
ab39b534fe auth fixes, search connected 2025-05-22 04:34:30 +03:00
d3a760b6ba auth-wip 2025-05-21 01:34:02 +03:00
2d382be794 upgrade schema, resolvers, panel added 2025-05-16 09:23:48 +03:00
2b7d5a25b5 unpublish-fix7
All checks were successful
Deploy on push / deploy (push) Successful in 46s
2025-05-03 11:52:14 +03:00
32cb810f51 unpublish-fix7 2025-05-03 11:52:10 +03:00
d2a8c23076 unpublish-fix5
All checks were successful
Deploy on push / deploy (push) Successful in 45s
2025-05-03 11:47:35 +03:00
96afda77a6 unpublish-fix5
All checks were successful
Deploy on push / deploy (push) Successful in 47s
2025-05-03 11:35:03 +03:00
d6202561a9 unpublish-fix4
All checks were successful
Deploy on push / deploy (push) Successful in 47s
2025-05-03 11:07:03 +03:00
3fbd2e677a unpublish-fix3
All checks were successful
Deploy on push / deploy (push) Successful in 47s
2025-05-03 11:00:19 +03:00
4f1eab513a unpublish-fix2
All checks were successful
Deploy on push / deploy (push) Successful in 46s
2025-05-03 10:57:55 +03:00
58ec60262b unpublish,delete-draft-fix
All checks were successful
Deploy on push / deploy (push) Successful in 1m23s
2025-05-03 10:53:40 +03:00
bcbfdd76e9 html wrap fix
All checks were successful
Deploy on push / deploy (push) Successful in 48s
2025-04-27 12:53:49 +03:00
e4943f524c reaction-by-upgrade2
All checks were successful
Deploy on push / deploy (push) Successful in 36s
2025-04-26 15:35:31 +03:00
bdae2abe25 drafts schema restore + publish/unpublish fixes
All checks were successful
Deploy on push / deploy (push) Successful in 32s
2025-04-26 13:11:12 +03:00
eb216a5f36 draft-seo-handling
All checks were successful
Deploy on push / deploy (push) Successful in 1m10s
2025-04-15 20:16:01 +03:00
b9f6033e66 generate seo text when draft created 2025-04-15 20:09:22 +03:00
247fc98760 cachedep-fix+orjson+fmt
All checks were successful
Deploy on push / deploy (push) Successful in 1m16s
2025-03-20 11:55:21 +03:00
1de3d163c1 0.4.11-create_draft-fix
All checks were successful
Deploy on push / deploy (push) Successful in 57s
2025-02-12 21:59:05 +03:00
d3ed335fde main_topic-fix7-debug
All checks were successful
Deploy on push / deploy (push) Successful in 55s
2025-02-12 20:04:06 +03:00
f84be7b11b main_topic-fix7
All checks were successful
Deploy on push / deploy (push) Successful in 56s
2025-02-12 19:33:02 +03:00
b011c0fd48 main_topic-fix6
All checks were successful
Deploy on push / deploy (push) Successful in 54s
2025-02-12 19:21:21 +03:00
fe661a5008 main_topic-json-fix
All checks were successful
Deploy on push / deploy (push) Successful in 56s
2025-02-12 02:23:51 +03:00
e97823f99c main_topic-fix4
All checks were successful
Deploy on push / deploy (push) Successful in 56s
2025-02-12 00:55:55 +03:00
a9dd593ac8 main_topic-fix3
All checks were successful
Deploy on push / deploy (push) Successful in 56s
2025-02-12 00:47:39 +03:00
1585e55342 main_topic-fix2
All checks were successful
Deploy on push / deploy (push) Successful in 57s
2025-02-12 00:39:25 +03:00
52b608da99 main_topic-fix
All checks were successful
Deploy on push / deploy (push) Successful in 57s
2025-02-12 00:31:18 +03:00
5d87035885 0.4.10-a
All checks were successful
Deploy on push / deploy (push) Successful in 44s
2025-02-11 12:00:35 +03:00
37a9a284ef 0.4.9-drafts 2025-02-09 17:18:01 +03:00
56db33d7f1 get_my_rates_comments-fix
All checks were successful
Deploy on push / deploy (push) Successful in 55s
2025-02-04 02:53:01 +03:00
9fe5fea238 editor-fix
All checks were successful
Deploy on push / deploy (push) Successful in 58s
2025-02-03 19:06:00 +03:00
0347b6f5ff logs-update-shout-5
All checks were successful
Deploy on push / deploy (push) Successful in 59s
2025-02-02 21:57:51 +03:00
ffb75e53f7 logs-update-shout-4
All checks were successful
Deploy on push / deploy (push) Successful in 58s
2025-02-02 21:55:22 +03:00
582ba75643 logs-update-shout-3
All checks were successful
Deploy on push / deploy (push) Successful in 58s
2025-02-02 21:49:28 +03:00
2db1da3194 logs-update-shout-2
All checks were successful
Deploy on push / deploy (push) Successful in 58s
2025-02-02 21:45:24 +03:00
fd6b0ce5fd logs-update-shout
All checks were successful
Deploy on push / deploy (push) Successful in 58s
2025-02-02 21:41:03 +03:00
5e2842774a media-field-workarounds
Some checks failed
Deploy on push / deploy (push) Failing after 8s
2025-01-28 15:38:10 +03:00
e17690f27b nostat
Some checks failed
Deploy on push / deploy (push) Failing after 7s
2025-01-26 18:16:33 +03:00
4a26e4f75b fmt 2025-01-26 17:53:16 +03:00
4f4affaca4 cache-invalidate-fix-3 2025-01-25 15:19:19 +03:00
d59710309d cache-invalidate-fix-2 2025-01-25 11:57:10 +03:00