Files
junhong_cmp_fiber/openspec/changes/archive/2026-01-29-add-role-handler-validation/proposal.md
huang b02175271a
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m39s
feat: 实现企业设备授权功能并归档 OpenSpec 变更
- 新增企业设备授权模块(Model、DTO、Service、Handler、Store)
- 实现设备授权的创建、查询、更新、删除等完整业务逻辑
- 添加企业卡授权与设备授权的关联关系
- 新增 2 个数据库迁移脚本
- 同步 OpenSpec delta specs 到 main specs
- 归档 add-enterprise-device-authorization 变更
- 更新 API 文档和路由配置
- 新增完整的集成测试和单元测试覆盖
2026-01-29 13:18:49 +08:00

1.1 KiB
Raw Blame History

提案:为 RoleHandler 添加请求验证

为什么

当前 RoleHandler 缺少请求参数验证,导致无效的请求可以通过 Handler 层传递到 Service 层。这违反了项目的"Handler 层负责参数验证"原则并且导致集成测试被迫跳过tests/integration/role_test.go:51,282

其他 Handler如 AuthHandler已经正确实现了验证RoleHandler 需要遵循相同模式。

变更内容

  • RoleHandler 将接收 validator 实例并验证所有请求参数
  • Create 和 Update 方法将调用 validator.Struct() 验证 DTO
  • 取消 role_test.go 中被跳过的验证测试

能力

新增能力

  • role-request-validation: RoleHandler 的所有请求Create、Update、AssignPermissions、UpdateStatus都将验证必填字段和格式

修改能力

无(现有功能无变化,只是增强了输入验证)

影响范围

  • internal/handler/admin/role.go: 添加 validator 字段,调用验证方法
  • internal/bootstrap/handlers.go: 传递 validator 给 RoleHandler
  • tests/integration/role_test.go: 取消被跳过的测试