feat: connect settings live flow to auth api

This commit is contained in:
a.tolmachev
2026-03-31 02:21:31 +03:00
parent 61718bce5a
commit 44363c0b1c
13 changed files with 502 additions and 102 deletions
+6
View File
@@ -66,12 +66,18 @@
- `POST /api/auth/login`
- `POST /api/auth/logout`
- `GET /api/auth/session`
- `GET /api/auth/profile`
- `PATCH /api/auth/profile`
- `POST /api/auth/password`
Контракт:
- `POST /login` принимает `email` и `password`;
- при успешном логине backend выставляет `HttpOnly` session cookie;
- `GET /session` возвращает текущего пользователя и memberships;
- `GET /profile` возвращает текущего пользователя и memberships для settings UI;
- `PATCH /profile` обновляет `display_name` и `email` текущего пользователя;
- `POST /password` меняет пароль текущего пользователя после проверки `current_password`;
- `POST /logout` инвалидирует текущую session.
### 5.3. Operations
+16 -11
View File
@@ -340,29 +340,34 @@ UI-файлы:
Что уже можно подключить:
- `GET /api/auth/session`
- `GET /api/auth/profile`
- `PATCH /api/auth/profile`
- `POST /api/auth/password`
- workspace block через `GET /api/admin/workspaces/{workspace_id}`
- `PATCH /api/admin/workspaces/{workspace_id}`
Что еще не хватает:
- current user endpoint;
- user profile update endpoint;
- preferences endpoint;
- security/auth settings model
- полноценный advanced security model (`2FA`, passkeys, session inventory);
- session-aware current workspace model вместо client-side `localStorage`.
Отдельный конфликт:
- UI считает, что у нас уже есть app-level user profile;
- backend пока не имеет session/user profile API;
- страницу стоит разбить:
- workspace settings подключать раньше;
- profile/security оставить временно mock или read-only.
- UI исторически притворялся, что `2FA`, passkeys и active sessions уже реализованы;
- backend пока дает только live `profile` и `password change`, без advanced security lifecycle;
- поэтому страница должна честно разделять:
- live `profile`;
- live `password change`;
- read-only/security roadmap блоки без fake data.
Простой итог:
- workspace block уже можно держать live;
- profile/security остаются временно mock/read-only;
- страницу целиком считать интегрированной пока нельзя.
- workspace block уже live;
- profile и password change уже live;
- notifications остаются локальным placeholder;
- страницу теперь можно считать частично интегрированной без ложных mock-сценариев.
### 4.9. Login