diff --git a/EventHubBackSpec.md b/EventHubBackSpec.md index a6105cb..ea97a64 100644 --- a/EventHubBackSpec.md +++ b/EventHubBackSpec.md @@ -442,6 +442,10 @@ src/ - `GET /health` — health + build identity: `status`, `service`, `version`, `build`, `git_sha`, `built_at` (как admin health). - `POST /v1/register` — регистрация. - `POST /v1/verify` — подтверждение email; при успехе — `active` и дефолтный personal-календарь. +- `POST /v1/forgot-password` — `{email}` → всегда `200` (без enumeration); письмо со сбросом + только для `active` (stub `logic_email:send_password_reset/2`, как verification). +- `POST /v1/reset-password` — `{token, password}` (пароль ≥ 8 символов); успех → новый hash, + токен удалён, refresh-сессии user отозваны; `404`/`410`/`400`/`403`. - `POST /v1/login` — вход. - `POST /v1/refresh` — обновление токена. - `GET /v1/user/me` — профиль пользователя. @@ -505,6 +509,8 @@ src/ - `POST /v1/admin/login` — вход администратора. - `POST /v1/admin/refresh` — обновление пары access/refresh JWT администратора. - `GET /v1/admin/users`, `GET /v1/admin/users/:id` — пользователи. +- `GET /v1/admin/users/:id/verification-token` — get/create email-verify token (стенды). +- `GET /v1/admin/users/:id/password-reset-token` — get/create password-reset token (стенды). - `GET /v1/admin/reports`, `GET /v1/admin/reports/:id` — жалобы. - `DELETE /v1/admin/reviews/:id` — удалить отзыв. - `GET /v1/admin/banned-words`, `POST /v1/admin/banned-words` — запрещённые слова. diff --git a/UX-BACKLOG.md b/UX-BACKLOG.md index 0b8ae26..b460405 100644 --- a/UX-BACKLOG.md +++ b/UX-BACKLOG.md @@ -49,7 +49,7 @@ Canvas: `eventhub-front-ux-review` → `eventhub-front-ux-rewalk` → **`eventhu - [x] Front: скрыть opaque id на Отзывах и Тикетах; локализовать статусы/типы через StatusBadge - [x] Discover Popular: дедуп по `type:id` (уже был; litter снят wipe’ом) - [x] i18n leftovers: Login `toVerify`, following type, role `user`, ticket EN chips -- [ ] Login forgot password (нет API — отложено) +- [x] Login forgot password — Back API готов (EventHubBack#57); Front UI — отдельно - [x] Календари: overflow «⋯» для Edit/Delete; Pin/Open на виду - [x] Month: `title` tooltip на событии в ячейке - [x] More: MoodSwitcher checkmark как у Language @@ -63,7 +63,7 @@ Canvas: `eventhub-front-ux-review` → `eventhub-front-ux-rewalk` → **`eventhu - [x] Toasts на create event / book / follow — i18n через `notify.*` - [x] i18n: Zod messages + aria date nav - [x] Verify: auto-submit `?token=` + redirect `/login?verified=1` -- [ ] Login forgot password — вне scope A (нужен API → Back) +- [x] Login forgot password — Back API готов (EventHubBack#57); Front UI — отдельно ## Вне scope / ops