package dto

import "time"

// ProviderDTO defines inbound payload for provider creation/update.
type ProviderDTO struct {
	Name           string    `json:"name"`
	Type           string    `json:"type"`
	BaseURL        string    `json:"base_url"`
	APIKey         string    `json:"api_key"`
	GoogleProject  string    `json:"google_project,omitempty"`
	GoogleLocation string    `json:"google_location,omitempty"`
	Group          string    `json:"group"`
	Models         []string  `json:"models"` // List of supported model names
	Status         string    `json:"status"`
	Weight         int       `json:"weight,omitempty"`
	AutoBan        *bool     `json:"auto_ban,omitempty"`
	BanReason      string    `json:"ban_reason,omitempty"`
	BanUntil       time.Time `json:"ban_until,omitempty"`

	// Optional control params
	SkipRouting bool `json:"skip_routing,omitempty"` // if true, do not add to routing tables (e.g., disabled)
}
