Commit b2141a96 authored by QTom's avatar QTom
Browse files

fix(ci): 修复 golangci-lint 和 API 合约测试失败

- 修复 errcheck: singleflight 返回值类型断言添加 ok 检查
- 修复 gofmt: 格式化 setting_service.go 和 claude_code_validator_test.go
- 修复 TestAPIContracts: 在 GET /admin/settings 期望中添加 min_claude_code_version 字段
parent 4280aca8
......@@ -511,7 +511,8 @@ func TestAPIContracts(t *testing.T) {
"home_content": "",
"hide_ccs_import_button": false,
"purchase_subscription_enabled": false,
"purchase_subscription_url": ""
"purchase_subscription_url": "",
"min_claude_code_version": ""
}
}`,
},
......
......@@ -891,7 +891,7 @@ func (s *SettingService) GetMinClaudeCodeVersion(ctx context.Context) string {
}
}
// singleflight: 同一时刻只有一个 goroutine 查询 DB,其余复用结果
result, _, _ := minVersionSF.Do("min_version", func() (interface{}, error) {
result, _, _ := minVersionSF.Do("min_version", func() (any, error) {
// 二次检查,避免排队的 goroutine 重复查询
if cached, ok := minVersionCache.Load().(*cachedMinVersion); ok {
if time.Now().UnixNano() < cached.expiresAt {
......@@ -917,7 +917,10 @@ func (s *SettingService) GetMinClaudeCodeVersion(ctx context.Context) string {
})
return value, nil
})
return result.(string)
if s, ok := result.(string); ok {
return s
}
return ""
}
// SetStreamTimeoutSettings 设置流超时处理配置
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment