docs: Web Push and notification prefs (Back#75 / Front#71).
This commit is contained in:
+11
-2
@@ -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`) на календари, события, отзывы.
|
||||
|
||||
@@ -374,8 +374,8 @@ legal stubs; позиция по подписке **владельца**; DNS/SP
|
||||
- серверный logout / revoke session (`POST /v1/logout` + `{ refresh_token }`; клиент зовёт до clear storage)
|
||||
- загрузка файлов: avatar `POST /v1/user/me/avatar`, cover
|
||||
`POST /v1/calendars/:id/cover` (Back#71); UI — Front#69; вложения — позже
|
||||
- полноценный push / reminders (email-reminder booking: Back#70 /
|
||||
`process_reminders`; Web Push / prefs — позже)
|
||||
- полноценный push / reminders (email-reminder: Back#70; Web Push + prefs:
|
||||
Back#75 / Front#71 — тумблеры в профиле, SW `/sw-push.js`)
|
||||
- waitlist: API Back#72; включение — чекбокс «Лист ожидания»
|
||||
(`settings.waitlist_enabled`) в настройках commercial; join/leave на
|
||||
карточке события при полном слоте — Front#70
|
||||
|
||||
Reference in New Issue
Block a user