"backend/internal/vscode:/vscode.git/clone" did not exist on "b982076e5264895328b80b61f9219c4cceba06f2"
  • QTom's avatar
    feat(admin): 完整实现管理员修改用户 API Key 分组的功能 · 9a91815b
    QTom authored
    ## 核心功能
    - 添加 AdminUpdateAPIKeyGroupID 服务方法,支持绑定/解绑/保持不变三态语义
    - 实现 UserRepository.AddGroupToAllowedGroups 接口,自动同步专属分组权限
    - 添加 HTTP PUT /api-keys/:id handler 端点,支持管理员直接修改 API Key 分组
    
    ## 事务一致性
    - 使用 ent Tx 保证专属分组绑定时「添加权限」和「更新 Key」的原子性
    - Repository 方法支持 clientFromContext,兼容事务内调用
    - 事务失败时自动回滚,避免权限孤立
    
    ## 业务逻辑
    - 订阅类型分组阻断,需通过订阅管理流程
    - 非活跃分组拒绝绑定
    - 负 ID 和非法 ID 验证
    - 自动授权响应,告知管理员成功授权的分组
    
    ## 代码质量
    - 16 个单元测试覆盖所有业务路径和边界用例
    - 7 个 handler 集成测试覆盖 HTTP 层
    - GroupRepo stub 返回克隆副本,防止测试间数据泄漏
    - API 类型安全修复(PaginatedResponse<ApiKey>)
    - 前端 ref 回调类型对齐 Vue 规范
    
    ## 国际化支持
    - 中英文提示信息完整
    - 自动授权成功/失败提示
    9a91815b
api_contract_test.go 56.7 KB