package cluster

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

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

// GetK8sUpgradeAdmin
//
//	@Id				GetK8sUpgradeAdmin
//	@Description	check whether the current user is a k8s upgrade admin
//	@Tags			ClusterService
//	@Accept			json
//	@Produce		json
//	@Success		200	{object}	k8supgradeapi.GetK8sUpgradeAdminResp
//	@Failure		500	{object}	api.BaseResp
//	@Router			/api/v1/devops/cluster/k8sUpgradeAdmin [get]
func (c *ClusterController) GetK8sUpgradeAdmin(ctx *gin.Context) {
	email, _ := ctx.Get(consts.CtxUserEmail)
	userEmail, _ := email.(string)

	ctrl.Success(ctx, &k8supgradeapi.GetK8sUpgradeAdminResp{
		IsAdmin: c.k8sUpgradeTaskSvc.IsK8sUpgradeAdmin(ctx, userEmail),
	})
}
