fix(ollama): 写入设置时缺省 debounce 补 1
兼容旧客户端省略 debounce_minutes 的 PUT 请求。
This commit is contained in:
@@ -196,6 +196,10 @@ func (s *SettingService) SetOllamaCloudUsageSettings(ctx context.Context, settin
|
||||
if settings == nil {
|
||||
return infraerrors.BadRequest("INVALID_OLLAMA_CLOUD_USAGE_SETTINGS", "settings cannot be nil")
|
||||
}
|
||||
if settings.DebounceMinutes == 0 {
|
||||
// Legacy clients that omit debounce_minutes keep the fail-safe default.
|
||||
settings.DebounceMinutes = ollamaCloudUsageDefaultDebounceMinutes
|
||||
}
|
||||
if settings.IntervalMinutes < ollamaCloudUsageMinIntervalMinutes || settings.IntervalMinutes > ollamaCloudUsageMaxIntervalMinutes {
|
||||
return infraerrors.BadRequest(
|
||||
"INVALID_OLLAMA_CLOUD_USAGE_INTERVAL",
|
||||
|
||||
@@ -317,10 +317,14 @@ func TestOllamaCloudUsageSettingsDefaultOffAndValidation(t *testing.T) {
|
||||
|
||||
err = settingsService.SetOllamaCloudUsageSettings(context.Background(), &OllamaCloudUsageSettings{Enabled: true, IntervalMinutes: 14, DebounceMinutes: 1})
|
||||
require.Error(t, err)
|
||||
err = settingsService.SetOllamaCloudUsageSettings(context.Background(), &OllamaCloudUsageSettings{Enabled: true, IntervalMinutes: 90, DebounceMinutes: 0})
|
||||
require.Error(t, err)
|
||||
err = settingsService.SetOllamaCloudUsageSettings(context.Background(), &OllamaCloudUsageSettings{Enabled: true, IntervalMinutes: 90, DebounceMinutes: 61})
|
||||
require.Error(t, err)
|
||||
// DebounceMinutes=0 (legacy omit) defaults to 1 on write.
|
||||
err = settingsService.SetOllamaCloudUsageSettings(context.Background(), &OllamaCloudUsageSettings{Enabled: true, IntervalMinutes: 90, DebounceMinutes: 0})
|
||||
require.NoError(t, err)
|
||||
settings, err = settingsService.GetOllamaCloudUsageSettings(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, settings.DebounceMinutes)
|
||||
err = settingsService.SetOllamaCloudUsageSettings(context.Background(), &OllamaCloudUsageSettings{Enabled: true, IntervalMinutes: 90, DebounceMinutes: 2})
|
||||
require.NoError(t, err)
|
||||
settings, err = settingsService.GetOllamaCloudUsageSettings(context.Background())
|
||||
|
||||
Reference in New Issue
Block a user