package proxy import ( "github.com/gin-gonic/gin" "gorm.io/gorm" ) // ModelsHandler serves GET /v1/models (OpenAI-style list). type ModelsHandler struct { db *gorm.DB gw *Gateway } func NewModelsHandler(db *gorm.DB, gw *Gateway) *ModelsHandler { return &ModelsHandler{db: db, gw: gw} } func (h *ModelsHandler) List(c *gin.Context) { models, err := h.gw.channel.ListEnabledModels() if err != nil { c.JSON(502, gin.H{"error": gin.H{"message": "list models failed", "type": "api_error"}}) return } data := make([]gin.H, 0, len(models)) for _, m := range models { data = append(data, gin.H{ "id": m.Name, "object": "model", "created": m.CreatedAt.Unix(), "owned_by": "openteam", }) } c.JSON(200, gin.H{"object": "list", "data": data}) }