Files
fquiz/memory/2026-05-07.md
T
2026-05-07 09:46:21 +08:00

26 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Work Log - 角色管理支持删除(2026-05-07
- 背景:
- Issue `FL-203` 反馈“角色管理要支持删除”。
- 根因:
- `api/app/services/legacy_admin_rbac_service.py``delete_role` 只按 legacy 表(`user_role`/`role_menu_rela`)执行删除。
- 当环境使用 modern RBAC 表(`roles`/`role_menus`/`role_permissions`/`user_roles`)时,删除接口会判定角色不存在或删除失败。
- 本次改动(最小闭环):
- 文件:`api/app/services/legacy_admin_rbac_service.py`
- 调整 `delete_role` 逻辑为与列表/更新一致的双模式处理:
- 自动识别 `legacy`/`modern` 角色来源。
- `modern` 模式下支持按 `id``code` 定位角色。
- 删除时同步清理 `role_menus``role_permissions``user_roles` 关联并删除 `roles` 主记录。
- 保护角色校验从仅 legacy `id` 扩展为 modern `code` 校验,保持 `admin/user/sys_mgr` 不可删。
- 推送事件 `role_id/role_code` 改为使用解析后的真实值,避免前端订阅端收到错误标识。
- 验证:
- 未执行编译与自动化测试(遵循任务约束:不做编译检查,不安装依赖)。
- 通过代码链路核对,`DELETE /api/v1/admin/roles/{role_id}` 在 legacy 与 modern 两种表结构下均有完整删除路径。
- 风险与影响:
- 影响面限定在角色删除服务逻辑。
- 角色列表、创建、编辑接口行为未改动。