Commit Graph

59 Commits

Author SHA1 Message Date
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
e7230ba63c tests-passed 2025-07-31 18:55:59 +03:00
db76ba3733 0.2.14
Some checks failed
deploy / deploy (push) Failing after 2m1s
2023-11-22 19:38:39 +03:00
435d1e4505 new-version-0-2-13
Some checks failed
deploy / deploy (push) Failing after 1m54s
2023-11-03 13:10:22 +03:00
04dedaa3a3 updates-fixes
Some checks failed
deploy / deploy (push) Failing after 2m0s
2023-10-25 20:02:01 +03:00
46e684b28d core-update
Some checks failed
deploy / deploy (push) Failing after 2m0s
2023-10-25 19:55:30 +03:00
e151034bab fix-imports
Some checks failed
deploy / deploy (push) Failing after 1m43s
2023-10-23 17:51:13 +03:00
bf241a8fbd merged-isolated-core
Some checks failed
deploy / deploy (push) Failing after 1m46s
2023-10-23 17:47:11 +03:00
066bf72547 cleanup-orm
Some checks failed
deploy / deploy (push) Failing after 23s
2023-10-16 18:28:43 +03:00
6252671b85 merged 2023-10-11 11:56:46 +03:00
Ilya Y
889f802429 Feature/notifications (#77)
feature - notifications

Co-authored-by: Igor Lobanov <igor.lobanov@onetwotrip.com>
2023-10-10 09:35:27 +03:00
deac939ed8 restructured,inbox-removed 2023-10-05 21:46:18 +03:00
Igor Lobanov
9d94464614 Revert "Revert "store views on the shouts table, remove the viewed table"" 2023-08-05 00:21:54 +02:00
Ilya Y
c83b38f4c8 Revert "store views on the shouts table, remove the viewed table" 2023-08-04 13:12:21 +03:00
Alexey Kulikov
41055d8501 store views on the shouts table, remove the viewed table 2023-07-30 23:57:31 +01:00
Igor Lobanov
cfc1beeec0 WIP 2022-11-25 19:31:53 +01:00
786bd20275 init 2022-11-24 11:27:01 +03:00
47b285f8ac nochecks 2022-11-19 14:35:34 +03:00
efc3531c33 views from ackee 2022-11-15 12:25:04 +03:00
4536370c79 stats refactored 2022-09-19 16:50:43 +03:00
3136eecd7e migration, auth, refactoring, formatting 2022-09-17 21:12:14 +03:00
a89a44f660 format and lint orm 2022-09-03 13:50:14 +03:00
f0b625af53 -reactions.storage, +collectionShouts.query, fixes 2022-08-13 12:48:07 +03:00
83f5f280b2 working-on 2022-08-11 12:09:57 +03:00
8aec6c6e07 refactored 2022-08-11 08:53:14 +03:00
6cb5061ce5 wip refactoring: reactions, storages isolated 2022-07-21 14:58:50 +03:00
ace22f5e8b refactored-shout-comments 2022-06-21 15:21:02 +03:00
11f81d46ce proposals and refactoring 2022-06-19 21:29:13 +03:00
knst-kotov
39070dc359 add community subscription; unify subscription interface 2022-06-12 10:51:22 +03:00
knst-kotov
77759f620d remove message table 2022-01-24 17:08:30 +03:00
knst-kotov
04f2ceb629 load topic parents 2021-12-12 16:00:38 +03:00
knst-kotov
d0fdfd2b31 create default user; minor fixes 2021-12-10 16:52:55 +03:00
knst-kotov
6e939f43db default user role; updateProfile method 2021-12-08 15:51:30 +03:00
knst-kotov
2d8dc5c3bd add RoleStorage; add mutations for community 2021-11-24 18:53:01 +03:00
9ab334de71 Merge branch 'main' of https://github.com/Discours/discours-backend 2021-11-24 16:39:25 +03:00
67713c1bf6 minor fixes 2021-11-24 16:34:30 +03:00
knst-kotov
5e2f824f5b add UserStorage 2021-11-24 15:56:09 +03:00
knst-kotov
0f3ba29fea query userRoles 2021-11-24 12:09:47 +03:00
741ede054d update topics logix 2021-10-28 13:42:34 +03:00
14fdfe71e5 migration fix, new html2text, export wip 2021-10-15 13:00:26 +03:00
80f4fa1d08 comments migration wip 2021-10-12 22:38:12 +03:00
knst-kotov
0a9949caa3 ShoutRatingStorage refactor 2021-09-29 16:37:08 +03:00
knst-kotov
c32fc43538 ShoutViewStorage refactor 2021-09-29 15:59:48 +03:00
knst-kotov
9a5ec80b12 get Shout with additional info 2021-09-24 17:39:37 +03:00
knst-kotov
d5c654eace type fix 2021-09-05 11:56:15 +03:00
knst-kotov
eba8e6d6af shout rating and view with timestamp 2021-08-31 18:15:27 +03:00
knst-kotov
def6a59163 topShoutsByView and topShoutsByRating 2021-08-30 10:41:59 +03:00
knst-kotov
862c19ed15 fix updateShout 2021-08-28 18:12:13 +03:00
knst-kotov
a13b979850 fix shout 2021-08-28 13:13:50 +03:00
9721bd41d5 wip: org to community 2021-08-27 11:42:01 +03:00