|
|
@@ -79,22 +79,23 @@ shared-crud/
|
|
|
## Stories
|
|
|
|
|
|
### 阶段 1: 核心权限控制功能
|
|
|
-1. **Story 1:** 数据权限控制类型定义和配置接口 - 定义权限控制配置类型,扩展 CrudOptions 接口
|
|
|
-2. **Story 2:** 查询操作权限过滤增强 - 在 getList 和 getById 方法中添加用户ID过滤
|
|
|
-3. **Story 3:** 创建操作权限限制增强 - 在 create 方法中验证和限制用户创建权限
|
|
|
-4. **Story 4:** 更新操作权限验证增强 - 在 update 方法中添加权限验证
|
|
|
-5. **Story 5:** 删除操作权限验证增强 - 在 delete 方法中添加权限验证
|
|
|
-6. **Story 6:** 权限控制中间件 - 创建数据权限验证中间件
|
|
|
-
|
|
|
-### 阶段 2: 高级权限功能
|
|
|
-7. **Story 7:** 管理员权限覆盖机制 - 支持管理员查看和操作所有数据
|
|
|
-8. **Story 8:** 多租户数据隔离支持 - 支持基于租户ID的数据隔离
|
|
|
-9. **Story 9:** 自定义权限验证钩子 - 提供自定义权限验证扩展点
|
|
|
-
|
|
|
-### 阶段 3: 集成和测试
|
|
|
-10. **Story 10:** 业务模块集成示例 - 提供用户模块的权限控制集成示例
|
|
|
-11. **Story 11:** 完整测试覆盖 - 单元测试、集成测试和性能测试
|
|
|
-12. **Story 12:** 文档和迁移指南 - 使用文档和现有项目迁移指南
|
|
|
+1. **Story 1:** Shared-CRUD 数据权限控制完整实现 - 实现完整的数据权限控制功能,包括:
|
|
|
+ - 数据权限控制类型定义和配置接口
|
|
|
+ - 查询操作的自动权限过滤(getList 和 getById)
|
|
|
+ - 创建操作的权限限制(防止创建不属于自己的数据)
|
|
|
+ - 更新操作的权限验证
|
|
|
+ - 删除操作的权限验证
|
|
|
+ - 权限控制中间件
|
|
|
+ - 管理员权限覆盖机制
|
|
|
+ - 完整的单元测试和集成测试
|
|
|
+
|
|
|
+### 阶段 2: 高级功能和集成
|
|
|
+2. **Story 2:** 高级权限功能和业务模块集成 - 实现高级权限功能和集成示例:
|
|
|
+ - 多租户数据隔离支持
|
|
|
+ - 自定义权限验证钩子
|
|
|
+ - 业务模块集成示例(用户模块)
|
|
|
+ - 性能优化和基准测试
|
|
|
+ - 完整的使用文档和迁移指南
|
|
|
|
|
|
## Compatibility Requirements
|
|
|
|
|
|
@@ -120,7 +121,7 @@ shared-crud/
|
|
|
|
|
|
## Definition of Done
|
|
|
|
|
|
-- [ ] 阶段 1 stories 完成且验收标准满足
|
|
|
+- [ ] Story 1 完成且验收标准满足
|
|
|
- [ ] 现有功能通过回归测试验证
|
|
|
- [ ] 权限控制配置灵活且易于使用
|
|
|
- [ ] 性能基准测试通过,无明显性能下降
|
|
|
@@ -447,6 +448,6 @@ createCrudRoutes({
|
|
|
- 集成点:现有认证系统、用户跟踪字段、CRUD 服务层、路由配置
|
|
|
- 需要遵循的现有模式:TypeORM 查询构建、Hono 中间件、配置驱动开发
|
|
|
- 关键兼容性要求:现有配置和 API 保持不变、性能影响最小化、错误处理一致
|
|
|
-- 每个故事必须包含验证现有功能保持完整的回归测试
|
|
|
+- 故事必须包含验证现有功能保持完整的回归测试
|
|
|
|
|
|
该epic应该保持系统完整性,同时实现 shared-crud 包的数据权限控制增强,为业务模块提供安全、灵活的数据访问控制能力。"
|