Use []Site type

This commit is contained in:
David Newhall II 2019-04-15 02:26:19 -07:00
parent ad1c68f084
commit 94e571b626
1 changed files with 9 additions and 8 deletions

View File

@ -125,21 +125,22 @@ func (c *Config) PollUnifiController(controller *unifi.Unifi, infdb influx.Clien
// filterSites returns a list of sites to fetch data for. // filterSites returns a list of sites to fetch data for.
// Omits requested but unconfigured sites. // Omits requested but unconfigured sites.
func filterSites(controller *unifi.Unifi, filter []string) ([]string, error) { func filterSites(controller *unifi.Unifi, filter []string) ([]unifi.Site, error) {
sites, err := controller.GetSites() sites, err := controller.GetSites()
if err != nil { if err != nil {
return filter, err return []unifi.Site{{Name: "default", Desc: "DEFAULT"}}, err
} else if len(filter) < 1 || StringInSlice("all", filter) { } else if len(filter) < 1 || StringInSlice("all", filter) {
return sites, nil return sites, nil
} }
output := []string{} var i int
for _, s := range filter { for _, s := range sites {
// Do not return requested sites that are not configured. // Only include valid sites in the request filter.
if StringInSlice(s, sites) { if StringInSlice(s.Name, filter) {
output = append(output, s) sites[i] = s
i++
} }
} }
return output, nil return sites[:i], nil
} }
// batchPoints combines all device and client data into influxdb data points. // batchPoints combines all device and client data into influxdb data points.