package v1

import (
	"cmdb-backend/models"
	"cmdb-backend/pkg/utils"
	"github.com/gin-gonic/gin"
	"net/http"
	"strconv"
)

type OpLoadBalancerInfo struct {
	Id     int    `json:"id"`
	App    string `json:"app"`
	Owner  string `json:"owner"`
	Remark string `json:"remark"`
}

func GetLBList(c *gin.Context) {
	key := c.Query("key")
	vendorId, _ := strconv.Atoi(c.Query("vendor_id"))
	pageNum, _ := strconv.Atoi(c.Query("page_number"))
	pageSize, _ := strconv.Atoi(c.Query("page_size"))

	lbList := models.GetLoadBalancer(key, vendorId, utils.GetPage(pageNum, pageSize), pageSize)
	total := models.GetLoadBalancerTotal(key, vendorId)

	c.JSON(http.StatusOK, utils.AmisResponse{
		Data: map[string]interface{}{
			"items": lbList,
			"total": total,
		},
	})

}

func CreateLB(c *gin.Context) {

}

func UpdateLB(c *gin.Context) {
	query := OpLoadBalancerInfo{}
	if err := c.BindJSON(&query); err != nil {
		utils.AmisError(c, "数据格式不正确，请修改后重新提交。")
		return
	}

	if err := models.UpdateLoadBalancer(query.Id, query.App, query.Owner, query.Remark); err != nil {
		utils.AmisError(c, "LB 信息修改失败，请稍后重试。")
		return
	}
	c.JSON(http.StatusOK, utils.AmisResponse{
		Msg: "LB 信息修改成功。",
	})

}

func DeleteLB(c *gin.Context) {

}
