| package configmgmt |
|
|
| import ( |
| "ds2api/internal/chathistory" |
| "ds2api/internal/config" |
| adminshared "ds2api/internal/httpapi/admin/shared" |
| ) |
|
|
| type Handler struct { |
| Store adminshared.ConfigStore |
| Pool adminshared.PoolController |
| DS adminshared.DeepSeekCaller |
| OpenAI adminshared.OpenAIChatCaller |
| ChatHistory *chathistory.Store |
| } |
|
|
| var writeJSON = adminshared.WriteJSON |
|
|
| func maskSecretPreview(secret string) string { |
| return adminshared.MaskSecretPreview(secret) |
| } |
| func toStringSlice(v any) ([]string, bool) { return adminshared.ToStringSlice(v) } |
| func toAccount(m map[string]any) config.Account { |
| return adminshared.ToAccount(m) |
| } |
| func toAPIKeys(v any) ([]config.APIKey, bool) { return adminshared.ToAPIKeys(v) } |
| func mergeAPIKeysPreferStructured(existing, incoming []config.APIKey) ([]config.APIKey, int) { |
| return adminshared.MergeAPIKeysPreferStructured(existing, incoming) |
| } |
| func fieldString(m map[string]any, key string) string { |
| return adminshared.FieldString(m, key) |
| } |
| func fieldStringOptional(m map[string]any, key string) (string, bool) { |
| return adminshared.FieldStringOptional(m, key) |
| } |
| func normalizeAccountForStorage(acc config.Account) config.Account { |
| return adminshared.NormalizeAccountForStorage(acc) |
| } |
| func accountDedupeKey(acc config.Account) string { return adminshared.AccountDedupeKey(acc) } |
| func normalizeAndDedupeAccounts(accounts []config.Account) []config.Account { |
| return adminshared.NormalizeAndDedupeAccounts(accounts) |
| } |
| func newRequestError(detail string) error { return adminshared.NewRequestError(detail) } |
| func requestErrorDetail(err error) (string, bool) { |
| return adminshared.RequestErrorDetail(err) |
| } |
| func normalizeSettingsConfig(c *config.Config) { adminshared.NormalizeSettingsConfig(c) } |
| func validateSettingsConfig(c config.Config) error { |
| return adminshared.ValidateSettingsConfig(c) |
| } |
|
|