package dto import "time" // ProviderGroupResponse represents a provider group in API responses. // @Description Provider group response type ProviderGroupResponse struct { ID uint `json:"id" example:"1"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Name string `json:"name" example:"openai-prod"` Type string `json:"type" example:"openai"` BaseURL string `json:"base_url" example:"https://api.openai.com"` GoogleProject string `json:"google_project,omitempty"` GoogleLocation string `json:"google_location,omitempty"` StaticHeaders string `json:"static_headers,omitempty"` HeadersProfile string `json:"headers_profile,omitempty"` Models string `json:"models" example:"gpt-4,gpt-3.5-turbo"` Status string `json:"status" example:"active"` TotalRequests int64 `json:"total_requests" example:"1000"` SuccessRequests int64 `json:"success_requests" example:"950"` FailureRequests int64 `json:"failure_requests" example:"50"` SuccessRate float64 `json:"success_rate" example:"0.95"` FailureRate float64 `json:"failure_rate" example:"0.05"` } // ProviderGroupDTO defines inbound payload for provider group creation/update. // @Description Provider group create/update request type ProviderGroupDTO struct { Name string `json:"name" example:"openai-prod"` Type string `json:"type" example:"openai"` BaseURL string `json:"base_url" example:"https://api.openai.com"` GoogleProject string `json:"google_project,omitempty"` GoogleLocation string `json:"google_location,omitempty"` StaticHeaders string `json:"static_headers,omitempty"` HeadersProfile string `json:"headers_profile,omitempty"` Models []string `json:"models" example:"gpt-4,gpt-3.5-turbo"` Status string `json:"status" example:"active"` }