# 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_key` - `system`: 必填(例如 `mkt`) - `module`: 選填(空值代表系統層權限) - `action` - 表單新增 `system` 欄位。 - `module` 改成可選。 ### 2) 我的權限頁 `/me/permissions` - 顯示欄位改為: - `scope_type` - `scope_id` - `system` - `module` - `action` ## 新增頁面 ### 3) 系統管理 `/admin/systems` - 列表:`GET /admin/systems` - 新增:`POST /admin/systems` ### 4) 模組管理 `/admin/modules` - 列表:`GET /admin/modules` - 新增:`POST /admin/modules` - `system_key` - `module_key` - `name` ### 5) 公司管理 `/admin/companies` - 列表:`GET /admin/companies` - 新增:`POST /admin/companies` ### 6) 站台管理 `/admin/sites` - 列表:`GET /admin/sites` - 新增:`POST /admin/sites` - `company_key` ### 7) 會員列表 `/admin/members` - 列表:`GET /admin/members` ### 8) 權限群組 `/admin/permission-groups` - 群組列表/新增: - `GET /admin/permission-groups` - `POST /admin/permission-groups` - 群組綁會員: - `POST /admin/permission-groups/{group_key}/members/{authentik_sub}` - `DELETE /admin/permission-groups/{group_key}/members/{authentik_sub}` - 群組授權: - `POST /admin/permission-groups/{group_key}/permissions/grant` - `POST /admin/permission-groups/{group_key}/permissions/revoke` ## 共用資料載入(下拉選單) 權限表單應先載入: - systems: `GET /admin/systems` - modules: `GET /admin/modules` - companies: `GET /admin/companies` - sites: `GET /admin/sites` ## 認證(管理 API) 所有 `/admin/*` API 一律帶: - `X-Client-Key` - `X-API-Key` 本地測試可用: - `X-Client-Key: admin-frontend` - `X-API-Key: dev-admin-key-123` ## 驗收條件 - 可以新增 system/module/company/site。 - 可以做 user 直接 grant/revoke。 - 可以建立 permission-group、加會員、做群組 grant/revoke。 - `/me/permissions/snapshot` 能看到直接權限 + 群組權限(去重後)。