package cluster

import (
	"github.com/gin-gonic/gin"

	"github.com/tidbcloud/devops/api"
	k8supgradeapi "github.com/tidbcloud/devops/api/k8supgrade"
	ctrl "github.com/tidbcloud/devops/pkg/controller"
)

// ListK8sUpgradeSupportedVersions
//
//	@Id				ListK8sUpgradeSupportedVersions
//	@Description	list supported k8s upgrade target versions
//	@Tags			ClusterService
//	@Accept			json
//	@Produce		json
//	@Success		200	{object}	k8supgradeapi.ListK8sUpgradeSupportedVersionsResp
//	@Failure		500	{object}	api.BaseResp
//	@Router			/api/v1/devops/cluster/k8sUpgradeSupportedVersions [get]
func (c *ClusterController) ListK8sUpgradeSupportedVersions(ctx *gin.Context) {
	versions, err := c.k8sUpgradeTaskSvc.ListSupportedEOSVersions(ctx)
	if err != nil {
		ctrl.FailWithCode(ctx, err, api.ErrCodeInternal)
		return
	}

	ctrl.Success(ctx, &k8supgradeapi.ListK8sUpgradeSupportedVersionsResp{Versions: versions})
}
