"backend/vscode:/vscode.git/clone" did not exist on "1ada6cf768d893178dc303a89001fde05a423998"
  1. 28 Feb, 2026 7 commits
    • 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
    • QTom's avatar
      feat(admin): 添加管理员直接修改用户 API Key 分组的功能 · 000e621e
      QTom authored
      - 新增 PUT /api/v1/admin/api-keys/:id 端点,允许管理员修改任意用户 API Key 的分组绑定
      - 跳过用户级权限校验但保留分组有效性验证,修改后触发认证缓存失效
      - Service 层支持三态语义:nil=不修改,0=解绑,>0=绑定,<0=拒绝
      - 指针值拷贝保证安全隔离,负数 groupID 返回 400 INVALID_GROUP_ID
      - 前端 UserApiKeysModal 新增可点击的分组选择下拉框,支持多 Key 并发更新
      - 下拉支持视口翻转和滚动关闭,按钮有 disabled 和加载状态
      - 覆盖:后端 20 个单元测试 (Service 11 + Handler 9) + 前端 16 个 E2E 测试
      - golangci-lint 0 issues, make test-unit 全部通过
      000e621e
    • Wesley Liddick's avatar
      Merge pull request #682 from mt21625457/pr/all-code-sync-20260228 · 9d795061
      Wesley Liddick authored
      feat(openai-ws): support websocket mode v2, optimize relay performance, enhance sora
      9d795061
    • yangjianbo's avatar
      1d1fc019
    • yangjianbo's avatar
      feat(sync): full code sync from release · bb664d9b
      yangjianbo authored
      bb664d9b
    • Wesley Liddick's avatar
      Merge pull request #675 from wucm667/fix/gosec-timeout-exclude-ent-dir · bfc7b339
      Wesley Liddick authored
      fix(ci): 修复 gosec 扫描因 ent 生成代码导致超时的问题
      bfc7b339
    • wucm667's avatar
      fix(ci): 修复 gosec 扫描因 ent 生成代码导致超时的问题 · f30f8905
      wucm667 authored
      【问题描述】
      backend-security CI job 持续运行约 6 小时后被 GitHub Actions 强制取消,
      表现为 'Run gosec' 步骤挂起,最终以 cancelled 状态结束。
      
      【根本原因】
      gosec 对 ./... 执行 AST 静态分析时,包含了 ent/ 目录下的
      自动生成文件(如 mutation.go 共 24800 行),导致分析时间
      超出 GitHub Actions 默认的 6 小时上限。
      
      【修复方案】
      1. gosec 命令增加 -exclude-dir=ent 跳过自动生成代码目录
      2. backend-security job 增加 timeout-minutes: 15,避免未来
         类似问题再次长时间卡死后才被发现
      
      ent/ 目录内容全部由 Ent ORM 框架自动生成,开发者不直接编写,
      不需要纳入人工安全审计范围,排除后不影响扫描有效性。
      f30f8905
  2. 27 Feb, 2026 13 commits
  3. 26 Feb, 2026 20 commits