docs: rebuild architecture and taskplans for role-site model

This commit is contained in:
Chris
2026-04-02 23:35:05 +08:00
parent 7cdf2b5a51
commit 16bbfdba24
8 changed files with 263 additions and 286 deletions

View File

@@ -1,17 +1,19 @@
# Backend TaskPlan
## 待辦
- [ ] 補 Keycloak SMTP 通知流程(密碼設定/重設寄信)
- [ ] `/admin/members` 關鍵操作審計日誌
- [ ] 補更多 API 測試members username/password reset 路徑)
- [ ] 重建 schema 與 migration退場舊表`modules` 舊權限流程、`permission_groups*``user_scope_permissions`),上線 `roles``site_roles``user_sites`
- [ ] 重做 Admin API`Company/Site/System/Role/User` CRUD 與關聯管理 API。
- [ ] 重做 Role API只允許 Site 指派/解除,不提供 user direct role API。
- [ ] 重做 `/me/permissions/snapshot`:改為 role 聚合格式(由 user_sites + site_roles 推導)。
- [ ] Keycloak 同步器改版Company/Site group 同步、System client role 同步、Site 角色套用同步。
- [ ] Swagger response model 全面更新為 role-site 新模型。
- [ ] 新增/補齊 API 測試CRUD、關聯、同步、刪除、錯誤碼
## 進行中
- [ ] 文件與式持續對齊(避免規格漂移)
- [ ] 文件與實際回應格式持續對齊(避免文件漂移)
## 已完成
- [x] `/admin/*` 改為 Bearer + admin 群組管控(`ADMIN_REQUIRED_GROUPS`
- [x] 管理 API 完成 systems/modules/companies/sites/members/permission-groups CRUD
- [x] 會員 upsert/update 可同步 Keycloak
- [x] 會員資料新增 `username` 欄位,與 `display_name` 分離
- [x] 新增 `POST /admin/members/{user_sub}/password/reset`
- [x] DB 新增 `users.username`(含 migration 腳本)
- [x] Keycloak OIDC 登入主流程authorize + callback + token
- [x] `/admin/*` Bearer token + admin 群組白名單安全線。
- [x] API 白名單基礎(`api_clients`)已存在並可管理。
- [x] 前後端本地啟動流程已可分開運行backend + frontend