package dto import "time" // BindingResponse represents a binding in API responses. // @Description Binding response type BindingResponse struct { ID uint `json:"id" example:"1"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Namespace string `json:"namespace" example:"default"` PublicModel string `json:"public_model" example:"gpt-4"` GroupID uint `json:"group_id" example:"1"` Weight int `json:"weight" example:"1"` SelectorType string `json:"selector_type" example:"exact"` SelectorValue string `json:"selector_value" example:"gpt-4-turbo"` Status string `json:"status" example:"active"` } // BindingDTO defines inbound payload for binding creation/update. // It maps "(namespace, public_model)" to a ProviderGroup and an upstream selector. // @Description Binding create/update request type BindingDTO struct { Namespace string `json:"namespace" example:"default"` PublicModel string `json:"public_model" example:"gpt-4"` GroupID uint `json:"group_id" example:"1"` Weight int `json:"weight" example:"1"` SelectorType string `json:"selector_type" example:"exact"` SelectorValue string `json:"selector_value" example:"gpt-4-turbo"` Status string `json:"status" example:"active"` }