diff --git a/EventHubBackSpec.md b/EventHubBackSpec.md index 0e35dc1..ff95fde 100644 --- a/EventHubBackSpec.md +++ b/EventHubBackSpec.md @@ -306,27 +306,43 @@ src/ - `GET /v1/user/following` — календари, которые пользователь отслеживает (follow). - `GET /v1/search` — поиск; пустой запрос (только auth + пагинация/`type`) — discovery tops. - `GET /v1/calendars` — список календарей. +- `POST /v1/calendars` — создать календарь. - `GET /v1/calendars/:id` — календарь (поле `following` для текущего пользователя). +- `PUT /v1/calendars/:id` — обновить календарь. +- `DELETE /v1/calendars/:id` — удалить календарь. - `POST /v1/calendars/:id/follow` — отслеживать чужой календарь. - `DELETE /v1/calendars/:id/follow` — снять follow. - `GET /v1/calendars/:calendar_id/events` — события календаря. +- `POST /v1/calendars/:calendar_id/events` — создать событие. - `GET /v1/events/:id` — событие. +- `PUT /v1/events/:id` — обновить событие. +- `DELETE /v1/events/:id` — удалить событие. - `GET /v1/events/:id/occurrences` — вхождения повторяющегося события. +- `DELETE /v1/events/:id/occurrences/:start_time` — отменить вхождение серии. - `POST /v1/events/:id/bookings` — запись на событие. +- `GET /v1/events/:id/bookings` — список бронирований события (владелец). - `GET /v1/bookings/:id` — статус бронирования. +- `PUT /v1/bookings/:id` — подтвердить/отклонить бронирование (владелец). +- `DELETE /v1/bookings/:id` — отменить бронирование (участник). - `POST /v1/reviews` — создать отзыв. - `GET /v1/reviews` — список отзывов (поле `my_vote` для текущего пользователя). - `GET /v1/reviews/:id` — отзыв по ID (`my_vote`). - `PUT /v1/reviews/:id` — обновить отзыв. +- `DELETE /v1/reviews/:id` — удалить свой отзыв. - `PUT /v1/reviews/:id/vote` — поставить/сменить голос (`{"value":"like"|"dislike"}`). - `DELETE /v1/reviews/:id/vote` — снять голос. - `POST /v1/reports` — пожаловаться (`target_type`: `event` | `calendar` | `review`). +- `GET /v1/reports` — список жалоб пользователя. - `GET /v1/tickets` — тикеты пользователя. - `POST /v1/tickets` — создать или обновить тикет (дедуп по `error_hash`): body `{ error_message, stacktrace?, context?, source?: frontend|manual }`; ответ 201 (или 429 при rate-limit новых). - `GET /v1/tickets/:id` — статус тикета. - `GET /v1/subscription` — подписка пользователя. +- `POST /v1/subscription` — активировать подписку. - `GET /v1/calendars/:calendar_id/view?month=YYYY-MM` — HTML-календарь (владелец), включая архив. +### WebSocket (порт 8081) +- `WS /ws` — пользовательский канал real-time (подписка на обновления событий календаря; детали — §2.11). + ### Административные (порт 8445) - `GET /admin/health` и `GET /v1/admin/health` — состояние сервера + build identity: `status`, `service`, `version` (`MAJOR.MINOR` из `EventHubSpec/VERSION`), `build` (CI `run_number`, per-repo), `git_sha`, `built_at`. `/admin/health` — CT/Traefik; `/v1/admin/health` — Admin UI. - `GET /v1/admin/stats` — агрегированная статистика дашборда.