v1.5.4: test infrastructure + bug fixes + CI/CD + deploy gate

- 6 new test files: route discovery, strict permissions, role switch,
  CRUD operations, 500 error protection
- permission_config.py: central permission definitions for all 110+ routes
- Bug fixes: is_active checkbox in users_edit, int(id) 500 crash,
  missing validation in users_create/users_delete
- Pre-commit hooks: lint + static routing tests
- GitHub Actions CI: full pytest suite on push
- Deploy gate: pytest runs before deploy, aborts on failure
- All 3 deploy scripts: --skip-tests flag support
This commit is contained in:
2026-05-22 20:45:27 +03:00
parent 64991f0228
commit bd048ea23d
18 changed files with 1989 additions and 10 deletions
+42
View File
@@ -1,5 +1,47 @@
# Changelog — AegisOne Service Portal
## 1.5.4 (22.05.2026)
## 1.5.3 (22.05.2026)
### Новые функции
- П.8: Роли: обновлён список MENU_ITEMS под новую структуру (7 секций: Панель, Управление, Работа, Чат-бот Max, Контент, Внешние системы, Настройки)
- П.8: Коэффициенты и Тест формул объединены в одну страницу **Формулы** (/service/formulas) с 2 табами
- П.8: Чат-бот Max в Настройках — 6 табов (Общие, Шаблоны ответов, Функции, Категории, База знаний, Тестовый прогон)
- П.8: Расширены дефолтные права engineer (charts, bot_analytics, bot_conversations)
- Переключатель ролей в navbar: owner может переключиться на engineer/technician, engineer — на technician
- Тема: текст (Светлая/Тёмная/Авто) перенесён во всплывающую подсказку (title) на кнопке
- Тесты (pytest): проверка регистрации всех роутов smoke-тест для сервера
### Исправления и улучшения
- Все старые отдельные страницы (formula_test, coefficients, bot_responses, bot_features, bot_categories, bot_kb, bot_test_runner) продолжают работать через прямые роуты
- Исправлен баг: BotTicket FK → bot_users (NoReferencedTableError при старте)
## 1.5.2 (21.05.2026)
### Новые функции
- П.8: Настройка портала (/service/portal-settings) — Yandex GPT ключ, Яндекс.Диск OAuth
- П.8: Настройка Ролей (/service/role-settings) — owner управляет видимостью пунктов меню для engineer/technician
- Ролевые права меню: sidebar скрывает пункты на основе role_menu_permissions
### Исправления и улучшения
- max_bot: Исправлен NameError в api_bot_features (добавлен импорт BotFeature)
- py_service: Добавлен PermissionsMiddleware для загрузки прав меню в каждый шаблон
- SQL: Дефолтные права engineer (10 пунктов) и technician (4 пункта) создаются при пустой таблице
## 1.5.1 (21.05.2026)
### Новые функции
- П.8: Рассылка с предпросмотром — выбор получателей (чекбоксы), живой предпросмотр, черновик, история рассылок
- П.8: Фильтр согласия ФЗ-152 — рассылка только с `consent_given = true`
### Исправления и улучшения
- П.8: Аналитика — "Всего пользователей" теперь показывает только согласных, карточка согласий удалена
- П.8: Пользователи — сортировка по всем колонкам (клик на заголовок), пагинация, фильтр по согласию
- П.8: Пользователи — строки без согласия выделены красным фоном
- max_bot: Broadcast API — preview (draft) + send режимы, recipients endpoint, history endpoint
- py_service: Прокси-роуты для recipients/history
## 1.5.0 (21.05.2026)
### Новые функции
- Интеграция бота Max "София": управление ботом в сервисном портале
- 11 новых страниц: настройки, шаблоны, функции, категории, база знаний, диалоги, пользователи, тестовый прогон, аналитика
- SQL миграция v1.5.0: bot_tickets, bot_features.sla_ticket
## 1.4.0 (20.05.2026)
## 1.3.0 (20.05.2026)