package v1

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

func GetZoneList(c *gin.Context) {
	vendorId, _ := strconv.Atoi(c.Query("vendor_id"))
	regionId := c.Query("region_id")
	resp := utils.SelectResponse{
		Options: []utils.SelectOption{},
	}
	options := map[string]utils.SelectOption{}

	zoneNames := models.GetZoneInfo(vendorId, regionId)
	for _, zone := range zoneNames {
		options[zone.ZoneName] = utils.SelectOption{
			Label: zone.ZoneName,
			Value: zone.ZoneId,
		}
	}

	for _, option := range options {
		resp.Options = append(resp.Options, option)
	}
	sort.Sort(resp.Options)

	c.JSON(http.StatusOK, utils.AmisResponse{
		Data: resp,
	})
}
