Files
Acbox 90ac222bc9 feat: auto-create search/tts providers at startup with enable toggle
- Add `enable` column (default false) to search_providers and tts_providers tables
- Auto-create default entries for all provider types on startup (disabled by default)
- Add enable/disable Switch toggle in frontend for both search and TTS providers
- Show green status dot in sidebar for enabled providers, sort enabled first
- Filter bot settings dropdowns to only show enabled providers
2026-03-28 23:47:09 +08:00

65 lines
1.8 KiB
Go

package tts
import "time"
// --- Provider types ---
type CreateProviderRequest struct {
Name string `json:"name"`
Provider TtsType `json:"provider"`
}
type UpdateProviderRequest struct {
Name *string `json:"name,omitempty"`
Enable *bool `json:"enable,omitempty"`
}
type ProviderResponse struct {
ID string `json:"id"`
Name string `json:"name"`
Provider string `json:"provider"`
Enable bool `json:"enable"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ProviderMetaResponse struct {
Provider string `json:"provider"`
DisplayName string `json:"display_name"`
Description string `json:"description"`
DefaultModel string `json:"default_model"`
Models []ModelInfo `json:"models"`
}
// --- Model types ---
type ModelResponse struct {
ID string `json:"id"`
ModelID string `json:"model_id"`
Name string `json:"name"`
TtsProviderID string `json:"tts_provider_id"`
ProviderType string `json:"provider_type,omitempty"`
Config map[string]any `json:"config,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type CreateModelRequest struct {
ModelID string `json:"model_id"`
Name string `json:"name"`
TtsProviderID string `json:"tts_provider_id"`
Config map[string]any `json:"config,omitempty"`
}
type UpdateModelRequest struct {
Name *string `json:"name,omitempty"`
Config map[string]any `json:"config,omitempty"`
}
// --- Synthesis types ---
type TestSynthesizeRequest struct {
Text string `json:"text"`
Config map[string]any `json:"config,omitempty"`
}