feat: remove legacy chat provider tables (#25416)

This commit is contained in:
Michael Suchacz
2026-05-22 09:50:01 +02:00
committed by GitHub
parent ddec110b0e
commit ca1f6b19a2
46 changed files with 1270 additions and 3505 deletions
+53 -5
View File
@@ -149,8 +149,29 @@ const (
func ChatModelConfig(t testing.TB, db database.Store, seed database.ChatModelConfig, munge ...func(*database.InsertChatModelConfigParams)) database.ChatModelConfig {
t.Helper()
providerName := takeFirst(seed.Provider, "openai")
aiProviderID := seed.AIProviderID
if !aiProviderID.Valid {
providers, err := db.GetAIProviders(genCtx, database.GetAIProvidersParams{IncludeDisabled: true})
require.NoError(t, err, "get ai providers")
var provider database.AIProvider
for _, candidate := range providers {
if candidate.Type != database.AIProviderType(providerName) {
continue
}
if provider.ID == uuid.Nil || candidate.CreatedAt.After(provider.CreatedAt) {
provider = candidate
}
}
if provider.ID == uuid.Nil {
provider = AIProvider(t, db, database.AIProvider{
Type: database.AIProviderType(providerName),
})
}
aiProviderID = uuid.NullUUID{UUID: provider.ID, Valid: true}
}
params := database.InsertChatModelConfigParams{
Provider: takeFirst(seed.Provider, "openai"),
Provider: providerName,
Model: takeFirst(seed.Model, "gpt-4o-mini"),
DisplayName: takeFirst(seed.DisplayName, "Test Model"),
CreatedBy: seed.CreatedBy,
@@ -160,7 +181,7 @@ func ChatModelConfig(t testing.TB, db database.Store, seed database.ChatModelCon
ContextLimit: takeFirst(seed.ContextLimit, defaultChatModelContextLimit),
CompressionThreshold: takeFirst(seed.CompressionThreshold, defaultChatModelCompressionThreshold),
Options: takeFirstSlice(seed.Options, json.RawMessage(`{}`)),
AIProviderID: seed.AIProviderID,
AIProviderID: aiProviderID,
}
for _, fn := range munge {
fn(&params)
@@ -263,9 +284,36 @@ func ChatProvider(t testing.TB, db database.Store, seed database.ChatProvider, m
for _, fn := range munge {
fn(&params)
}
provider, err := db.InsertChatProvider(genCtx, params)
require.NoError(t, err, "insert chat provider")
return provider
provider := AIProvider(t, db, database.AIProvider{
Type: database.AIProviderType(params.Provider),
Name: "test-" + uuid.NewString(),
DisplayName: sql.NullString{String: params.DisplayName, Valid: params.DisplayName != ""},
BaseUrl: params.BaseUrl,
}, func(p *database.InsertAIProviderParams) {
p.Enabled = params.Enabled
})
if params.APIKey != "" {
AIProviderKey(t, db, database.AIProviderKey{
ProviderID: provider.ID,
APIKey: params.APIKey,
ApiKeyKeyID: params.ApiKeyKeyID,
})
}
return database.ChatProvider{
ID: provider.ID,
Provider: params.Provider,
DisplayName: params.DisplayName,
APIKey: params.APIKey,
BaseUrl: params.BaseUrl,
ApiKeyKeyID: params.ApiKeyKeyID,
CreatedBy: params.CreatedBy,
Enabled: params.Enabled,
CentralApiKeyEnabled: params.CentralApiKeyEnabled,
AllowUserApiKey: params.AllowUserApiKey,
AllowCentralApiKeyFallback: params.AllowCentralApiKeyFallback,
CreatedAt: provider.CreatedAt,
UpdatedAt: provider.UpdatedAt,
}
}
func MCPServerConfig(t testing.TB, db database.Store, seed database.MCPServerConfig) database.MCPServerConfig {