feat: connect workspace access lifecycle to admin api
This commit is contained in:
+9
-1
@@ -51,15 +51,23 @@
|
||||
- `POST /api/admin/workspaces`
|
||||
- `GET /api/admin/workspaces/{workspace_id}`
|
||||
- `PATCH /api/admin/workspaces/{workspace_id}`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/members`
|
||||
- `PATCH /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/invitations`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/invitations`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}/invitations/{invitation_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/export`
|
||||
|
||||
Контракт:
|
||||
|
||||
- `POST /invitations` возвращает metadata invitation и одноразовый `invite_token`;
|
||||
- `invite_token` доступен только в create-response и не возвращается повторно в list endpoints.
|
||||
- `invite_token` доступен только в create-response и не возвращается повторно в list endpoints;
|
||||
- `PATCH /members/{user_id}` меняет роль участника;
|
||||
- `DELETE /members/{user_id}` удаляет участника из workspace;
|
||||
- `GET /export` возвращает JSON snapshot workspace lifecycle-данных;
|
||||
- `DELETE /workspaces/{workspace_id}` разрешен только `owner`.
|
||||
|
||||
### 5.2. Auth and session
|
||||
|
||||
|
||||
@@ -302,27 +302,31 @@ UI-файлы:
|
||||
- `GET /api/admin/workspaces/{workspace_id}`
|
||||
- `PATCH /api/admin/workspaces/{workspace_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/members`
|
||||
- `PATCH /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/invitations`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/invitations`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}/invitations/{invitation_id}`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/export`
|
||||
- `DELETE /api/admin/workspaces/{workspace_id}`
|
||||
|
||||
Что еще не хватает:
|
||||
|
||||
- `switch current workspace` все еще живет на клиенте, а не в session/backend;
|
||||
- endpoint на удаление участника или изменение роли, если UI хочет это поддерживать;
|
||||
- delete/export workspace lifecycle пока не реализован на backend
|
||||
- session-aware current workspace model;
|
||||
- finer-grained permission matrix beyond current `owner/admin` management rules.
|
||||
|
||||
Отдельный конфликт:
|
||||
|
||||
- current workspace по-прежнему client-side;
|
||||
- memberships и invitations уже live, но role-management пока read-only;
|
||||
- memberships, role-management и invitations уже live;
|
||||
- `settings` page не должна дублировать этот flow, пока у нее нет своего backend-контракта
|
||||
|
||||
Простой итог:
|
||||
|
||||
- `workspace-setup` уже подключен к live backend;
|
||||
- create/edit workspace, refresh списка workspace и invitations работают;
|
||||
- role management и workspace deletion остаются отдельным следующим этапом.
|
||||
- create/edit workspace, memberships, invitations, export и delete работают;
|
||||
- текущий workspace все еще остается client-side моделью.
|
||||
|
||||
### 4.8. Settings
|
||||
|
||||
|
||||
Reference in New Issue
Block a user