mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: remove legacy chat provider tables (#25416)
This commit is contained in:
@@ -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(¶ms)
|
||||
@@ -263,9 +284,36 @@ func ChatProvider(t testing.TB, db database.Store, seed database.ChatProvider, m
|
||||
for _, fn := range munge {
|
||||
fn(¶ms)
|
||||
}
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user