docs: Web Push and notification prefs (Back#75 / Front#71).

This commit is contained in:
2026-08-15 20:37:52 +03:00
parent 515db26a0c
commit 1182568c9d
2 changed files with 13 additions and 4 deletions
+11 -2
View File
@@ -252,7 +252,10 @@ Legacy: прямой `POST /v1/calendars/:id/specialists` **не использ
cancel/decline/expire + email/in-app `waitlist_promoted`. UI join — Front#70.
- Серверный logout / revoke session; загрузка файлов avatar/cover —
**сделано** (Back#71); вложения к событию — позже.
- Email-reminder booking — **сделано** (Back#70, §2.6); Web Push / prefs — позже.
- Email-reminder booking — **сделано** (Back#70, §2.6); Web Push + prefs —
**сделано** (Back#75): `GET/PUT /v1/notifications/prefs`,
`GET /v1/push/vapid-public-key`, `POST/DELETE /v1/push/subscriptions`;
UI — Front#71.
- `calendar_share` (`read` | `write` | `admin`): низкий приоритет; не путать с follow,
specialist_invite и платной subscription. User HTTP API и UI — до отдельной задачи
(таблица в схеме есть, см. §2.1.3).
@@ -387,7 +390,13 @@ Legacy: прямой `POST /v1/calendars/:id/specialists` **не использ
клиенту записи и in-app `event_reminder`, если `status=confirmed`,
`reminder_sent=false`, событие `active` и старт в окне
`REMINDER_LEAD_HOURS` (default 24). Флаг ставится до отправки (один раз).
Шаблон CalenTIQ; ссылка `/c/:calendarId/e/:eventId`. Без prefs / Web Push.
Шаблон CalenTIQ; ссылка `/c/:calendarId/e/:eventId`.
Prefs: `user.preferences.notify_email` / `notify_push` (default true);
`GET/PUT /v1/notifications/prefs``{ email, push }`.
Web Push (Back#75): таблица `push_subscription`; VAPID env
`VAPID_PUBLIC_KEY` / `VAPID_PRIVATE_KEY` / `VAPID_SUBJECT`; send на reminder
и waitlist promote (если `notify_push`); 404/410 удаляет subscription.
Verify / invite / reset password — email всегда (не через prefs).
### 2.7. Модерация и безопасность
- Пользователи могут отправлять жалобы (`report`) на календари, события, отзывы.