package v1

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

func GetVendorRecord(c *gin.Context) {
	vendors := models.GetVendor()
	c.JSON(http.StatusOK, utils.AmisResponse{
		Data: map[string]interface{}{
			"items": vendors,
			"total": len(vendors),
		},
	})
}

func CreateVendorRecord(c *gin.Context) {
	query := models.Vendor{}
	if err := c.ShouldBindJSON(&query); err != nil {
		utils.AmisError(c, "数据格式不正确，请修改后重新提交。")
		return
	}
	if query.Name == "" {
		utils.AmisError(c, "厂商名称不能为空。")
		return
	}

	if err := models.CreateVendor(&query); err != nil {
		utils.AmisError(c, "创建失败，请稍后重试。")
		return
	}
}

func UpdateVendorRecord(c *gin.Context) {
	query := models.Vendor{}
	if err := c.ShouldBindJSON(&query); err != nil {
		utils.AmisError(c, "数据格式不正确，请修改后重新提交。")
		return
	}
	if query.Name == "" {
		utils.AmisError(c, "厂商名称不能为空。")
		return
	}

	if err := models.UpdateVendor(&query); err != nil {
		utils.AmisError(c, "更新失败，请稍后重试。")
		return
	}

}

func DeleteVendorRecord(c *gin.Context) {
	vendorName := c.Param("vendor_name")
	if err := models.DeleteVendor(vendorName); err != nil {
		utils.AmisError(c, "删除失败，请稍后重试。")
		return
	}
	//if err := models.DeleteDomainByVendor(vendorName); err != nil {
	//	utils.AmisError(c, "删除失败，请稍后重试。")
	//	return
	//}
}
