Документировать автомодерацию (settings/hits/UI). Refs EventHub/EventHubSpec#4

This commit is contained in:
2026-07-17 18:13:43 +03:00
parent c0121c1a40
commit e365e35736
2 changed files with 23 additions and 5 deletions
+12 -3
View File
@@ -5,8 +5,8 @@
| Роль | Идентификатор | Права |
|---------------|---------------|---------------------------------------------------------------------------------------------------------|
| Суперадмин | `superadmin` | Полный доступ ко всем модулям, включая изменение ролей других админов, просмотр аудита, системные настройки, управление администраторами. |
| Администратор | `admin` | Управление пользователями, событиями, жалобами, отзывами, бан-словами, тикетами, подписками. Нет доступа к аудиту и управлению администраторами. |
| Модератор | `moderator` | Работа с жалобами и отзывами. Остальные разделы недоступны. |
| Администратор | `admin` | Управление пользователями, событиями, жалобами, отзывами, бан-словами, настройками автомодерации, тикетами, подписками. Нет доступа к аудиту и управлению администраторами. |
| Модератор | `moderator` | Работа с жалобами, отзывами и очередью автомодерации. Остальные разделы недоступны. |
| Поддержка | `support` | Работа с тикетами (баг-трекер). Остальные разделы недоступны. |
Права проверяются на уровне фронтенда: пункты меню и маршруты (`RoleGuard` в `App.tsx`, конфиг `src/config/adminAccess.ts`) ограничены по роли из `GET /v1/admin/me`; при прямом URL без прав — страница 403.
@@ -116,6 +116,15 @@
- Дата добавления отформатирована.
- Форма добавления нового слова и кнопка удаления с подтверждением.
### 4.6.1. Автомодерация (настройки и очередь)
Эндпоинты: `GET/PUT /v1/admin/automod/settings`, `GET /v1/admin/automod/hits`, `PUT /v1/admin/automod/hits/:id`
Функциональность:
- Страница `/automod-settings` (роли `admin`, `superadmin`): `keyword_action`, `match_mode`, `report_threshold`.
- Inbox `/inbox/automod` (роли `admin`, `superadmin`, `moderator`): список hits, фильтр по статусу, Approve / Reject.
- WS-уведомление `automod_hit` открывает очередь автомодерации.
### 4.7. Тикеты (баг-трекер)
Эндпоинты: `GET /v1/admin/tickets` (фильтры `status`, `source`, `assigned_to`, `q`), `GET /v1/admin/tickets/stats`, `GET /v1/admin/tickets/:id`, `PUT /v1/admin/tickets/:id`, `DELETE /v1/admin/tickets/:id`; создание/авто-репорт: `POST /v1/tickets` (user/admin JWT).
@@ -219,4 +228,4 @@
- Контракт селекторов: `e2e/TESTIDS.md` (`data-testid` + a11y).
- **Mock-suite** (`npm run test:e2e`): в CI после lint/build; route-моки `**/v1/admin/**`.
- **IFT smoke** (`npm run test:e2e:ift`): login → shell → logout против IFT; учётки `SMOKE_ADMIN_*` / `ADMIN_SUPER_*` из `EventHubDevOps/ift/.env`; workflow `e2e-ift.yml` после Deploy IFT.
- Coverage (mock): auth/roles, shell, inbox reports/tickets, reports/reviews CRUD-пути, explore users/calendars/events/subscriptions, banned-words, admins/audit/monitoring/profile, i18n.
- Coverage (mock): auth/roles, shell, inbox reports/tickets/automod, reports/reviews CRUD-пути, explore users/calendars/events/subscriptions, banned-words, automod-settings, admins/audit/monitoring/profile, i18n.