3.7 KiB
3.7 KiB
Frontend 交辦清單(Schema v2)
目標
前端實現對應後端新模型:
- 公司(companies)
- 品牌站台(sites)
- 會員(users)
- 系統/模組(systems/modules)
- 權限群組(permission-groups)
既有頁面調整
1) 權限管理頁 /admin/permissions ✅
- Grant/Revoke payload 改為:
scope_type:company或site(下拉選單)scope_id:company_key或site_keysystem: 必填(例如mkt)module: 選填(空值代表系統層權限)action
- 表單新增
system欄位 module改成可選
2) 我的權限頁 /me/permissions ✅
- 表格新增顯示欄位:
scope_typescope_idsystemmoduleaction
新增頁面 ✅
3) 系統管理 /admin/systems ✅
- 列表:
GET /admin/systems - 新增:
POST /admin/systems - 表格顯示 system_key 與 name
- Dialog 表單新增系統
4) 模組管理 /admin/modules ✅
- 列表:
GET /admin/modules - 新增:
POST /admin/modulessystem_keymodule_keyname
- 表格顯示三個欄位
- Dialog 表單新增模組
5) 公司管理 /admin/companies ✅
- 列表:
GET /admin/companies - 新增:
POST /admin/companies - 表格顯示 company_key 與 name
- Dialog 表單新增公司
6) 站台管理 /admin/sites ✅
- 列表:
GET /admin/sites - 新增:
POST /admin/sitessite_keycompany_keyname
- 表格顯示三個欄位
- Dialog 表單新增站台
7) 會員管理 /admin/members ✅
- 列表:
GET /admin/members - 表格顯示 authentik_sub、email、display_name
- 新增會員:
POST /admin/members/upsert - 編輯會員:
PATCH /admin/members/{authentik_sub} - 會員頁可直接設定「權限群組」(multi-select):
GET /admin/members/{authentik_sub}/permission-groupsPUT /admin/members/{authentik_sub}/permission-groups
8) 權限群組 /admin/permission-groups ✅
- 群組管理 Tab:
- 列表:
GET /admin/permission-groups - 新增:
POST /admin/permission-groups - Dialog 表單新增群組
- 列表:
- 群組授權 Tab:
POST /admin/permission-groups/{group_key}/permissions/grantPOST /admin/permission-groups/{group_key}/permissions/revoke- UI 支援選擇群組、輸入權限資訊、grant/revoke 按鈕
- 群組權限列表:
GET /admin/permission-groups/{group_key}/permissions- 可查看群組目前有哪些系統/模組/操作權限
共用資料管理 ✅
- admin.js store 實現:
- 統一載入 systems、modules、companies、sites
- 供各管理頁使用,避免重複 API 呼叫
認證(管理 API) ✅
- 所有
/admin/*API 一律帶:X-Client-KeyX-API-Key
- axios adminHttp client 自動注入 headers
- 管理頁不需手動輸入金鑰(改由環境變數與攔截器帶入)
權限管理頁強化 ✅
- 直接授權列表:
GET /admin/permissions/direct- 支援關鍵字與 scope 篩選
- 列表逐筆撤銷:
DELETE /admin/permissions/direct/{permission_id}
驗收條件 ✅
- 可以新增 system/module/company/site
- 可以做 user 直接 grant/revoke(新 payload)
- 可以建立 permission-group,並在會員頁指派群組,做群組 grant/revoke
/me/permissions/snapshot能看到所有權限欄位(scope_type/scope_id/system/module/action)
完成日期
- 開始:2026-03-29
- 完成:2026-03-30
- 提交 Commit:
c4b9789