package api

import (
	"fmt"
	"time"

	"github.com/gin-gonic/gin"
	"github.com/tidbcloud/api-gateway/ui/internal/dao"
)

type VersionResp struct {
	ID        int       `json:"id"`
	Host      string    `json:"host"`
	CreatedAt time.Time `json:"create_at"`
	Content   string    `json:"content"`
}

func ListVersions(ctx *gin.Context) {
	versions, err := dao.ListVersions()
	if err != nil {
		AmisError(ctx, fmt.Errorf("list version from db failed: %s", err))
		return
	}
	resps := make([]VersionResp, 0, 10)
	for _, version := range versions {
		resps = append(resps, VersionResp{
			ID:        version.ID,
			Host:      version.Host,
			CreatedAt: version.CreatedAt,
			Content:   version.Content,
		})
	}
	AmisSuccess(ctx, resps)
}
