docs: dev status round 21 — P2.2 default role seeds
This commit is contained in:
@@ -691,6 +691,47 @@
|
||||
- 或 P11.1 前端权限列表展示新增权限
|
||||
- 或 P12.1 CLI 更新 propose 子命令
|
||||
|
||||
### 2026-03-17 19:00 UTC(第 21 轮:P2.2 默认角色权限种子 — mgr + dev 角色)
|
||||
|
||||
本轮做了什么:
|
||||
- 实现 P2.2:在 `init_wizard.py` 新增 `mgr` 和 `dev` 两个默认角色,各带预置权限
|
||||
- **mgr(Manager)权限**:
|
||||
- 项目管理:project.read/write/manage_members
|
||||
- 全量 task/milestone CRUD
|
||||
- 所有新增动作权限:milestone.freeze/start/close、task.close/reopen_closed/reopen_completed、propose.accept/reject/reopen
|
||||
- monitor.read
|
||||
- **dev(Developer)权限**:
|
||||
- project.read(只读项目信息)
|
||||
- task.create/read/write(日常 task 操作)
|
||||
- milestone.read(只读 milestone)
|
||||
- task.close/reopen_closed/reopen_completed(task 状态管理)
|
||||
- monitor.read
|
||||
- 不含 milestone 动作权限和 propose 审批权限(这些归 mgr/admin)
|
||||
- 重构 `init_admin_role()` 为统一的角色种子系统:
|
||||
- `_DEFAULT_ROLES` 列表定义所有默认角色 + 权限集
|
||||
- `_ensure_role()` 幂等创建角色
|
||||
- `_sync_role_permissions()` 增量同步权限(只加不删,不影响手动配置)
|
||||
- admin 仍获全量权限,guest 仍仅获 `*.read` 权限
|
||||
|
||||
改了哪些关键文件:
|
||||
- `HarborForge.Backend/app/init_wizard.py` — 重构角色种子系统(+84 行,-52 行)
|
||||
|
||||
验证结果:
|
||||
- Python AST 语法检查通过
|
||||
- 前端 `tsc --noEmit` 零错误(无回归)
|
||||
- 已 commit:backend `8e38d4c`
|
||||
|
||||
当前阻塞/风险:
|
||||
- 权限同步是增量模式(只加不删),已有部署中手动配置的权限不会被移除,但也意味着降级角色需手动操作
|
||||
- 前端按钮尚未根据用户权限做可见性控制(P11)
|
||||
- batch transition 接口尚未同步 P5.3/P5.4 校验
|
||||
- 无本地 MySQL/运行环境做集成验证
|
||||
|
||||
下一轮最建议继续做什么:
|
||||
- P11.1 前端权限列表展示新增权限(让管理界面能看到和管理 9 个新权限)
|
||||
- 或 P12.1 CLI 更新 propose 子命令
|
||||
- 或 P5.4 补全后端 batch transition 的 P5.3/P5.4 校验同步
|
||||
|
||||
---
|
||||
|
||||
## 1. 背景
|
||||
|
||||
Reference in New Issue
Block a user