fix: enrich me profile via userinfo and add org-member management plan
This commit is contained in:
87
docs/ORG_MEMBER_MANAGEMENT_PLAN.md
Normal file
87
docs/ORG_MEMBER_MANAGEMENT_PLAN.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 組織與會員管理規劃(給前端/後端協作)
|
||||
|
||||
## 1. 目前狀態(你現在看到空白是正常)
|
||||
- 已完成:
|
||||
- Authentik 登入
|
||||
- `/me` 基本個人資料
|
||||
- 權限 grant/revoke 與 snapshot
|
||||
- 尚未完成:
|
||||
- 公司組織(Organization)CRUD
|
||||
- 會員(Member)清單/新增/編輯/停用
|
||||
- 會員與組織關聯管理
|
||||
|
||||
## 2. 建議產品資訊架構(IA)
|
||||
- `我的資料`:目前登入者基本資訊、登出
|
||||
- `我的權限`:目前登入者權限快照
|
||||
- `組織管理`:公司清單、建立公司、編輯公司、狀態切換
|
||||
- `會員管理`:會員清單、邀請/建立會員、編輯會員、停用會員、指派組織
|
||||
- `權限管理`:保留現有 grant/revoke(可作為管理員進階頁)
|
||||
|
||||
## 3. 建議後端 API(v1)
|
||||
|
||||
### Organization
|
||||
- `GET /admin/organizations`
|
||||
- `POST /admin/organizations`
|
||||
- `GET /admin/organizations/{org_id}`
|
||||
- `PATCH /admin/organizations/{org_id}`
|
||||
- `POST /admin/organizations/{org_id}/activate`
|
||||
- `POST /admin/organizations/{org_id}/deactivate`
|
||||
|
||||
### Member
|
||||
- `GET /admin/members`
|
||||
- `POST /admin/members`
|
||||
- `GET /admin/members/{member_id}`
|
||||
- `PATCH /admin/members/{member_id}`
|
||||
- `POST /admin/members/{member_id}/activate`
|
||||
- `POST /admin/members/{member_id}/deactivate`
|
||||
|
||||
### Member x Organization
|
||||
- `GET /admin/members/{member_id}/organizations`
|
||||
- `POST /admin/members/{member_id}/organizations/{org_id}`
|
||||
- `DELETE /admin/members/{member_id}/organizations/{org_id}`
|
||||
|
||||
## 4. 建議資料表(最小可行)
|
||||
- `organizations`
|
||||
- `id` (uuid)
|
||||
- `org_code` (unique)
|
||||
- `name`
|
||||
- `tax_id` (nullable)
|
||||
- `status` (`active|inactive`)
|
||||
- `created_at`, `updated_at`
|
||||
- `members`
|
||||
- `id` (uuid)
|
||||
- `authentik_sub` (unique)
|
||||
- `email`
|
||||
- `display_name`
|
||||
- `status` (`active|inactive`)
|
||||
- `created_at`, `updated_at`
|
||||
- `member_organizations`
|
||||
- `member_id`
|
||||
- `organization_id`
|
||||
- unique(`member_id`, `organization_id`)
|
||||
|
||||
## 5. 前端頁面需求(給另一個 AI)
|
||||
- `/admin/organizations`
|
||||
- 表格 + 查詢 + 新增 Dialog + 編輯 Dialog + 啟停用
|
||||
- `/admin/members`
|
||||
- 表格 + 查詢 + 新增 Dialog + 編輯 Dialog + 啟停用
|
||||
- `/admin/members/:id/organizations`
|
||||
- 左側會員資訊,右側組織綁定清單 + 加入/移除
|
||||
|
||||
## 6. 權限模型(建議)
|
||||
- `org.manage`:組織管理
|
||||
- `member.manage`:會員管理
|
||||
- `permission.manage`:權限管理
|
||||
|
||||
可映射到現有權限欄位:
|
||||
- `scope_type=global`
|
||||
- `scope_id=member-center`
|
||||
- `module=organization|member|permission`
|
||||
- `action=view|create|update|deactivate|grant|revoke`
|
||||
|
||||
## 7. 驗收標準
|
||||
- 可以建立/修改/停用組織
|
||||
- 可以建立/修改/停用會員
|
||||
- 可以將會員加入/移出組織
|
||||
- UI 顯示成功/失敗訊息,並可重新整理資料
|
||||
- 所有管理 API 都有管理員金鑰驗證(`X-Client-Key` + `X-API-Key`)
|
||||
@@ -13,6 +13,7 @@
|
||||
## 任務管理
|
||||
- `docs/TASKPLAN_FRONTEND.md`
|
||||
- `docs/TASKPLAN_BACKEND.md`
|
||||
- `docs/ORG_MEMBER_MANAGEMENT_PLAN.md`(公司組織/會員管理規劃)
|
||||
|
||||
## SQL 與配置
|
||||
- `docs/API_CLIENTS_SQL.sql`
|
||||
|
||||
Reference in New Issue
Block a user