Simplify listHAAddons to return raw Supervisor API JSON
This commit is contained in:
@@ -141,8 +141,8 @@ func findFrigateAddon(token string) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// listHAAddons returns addon list for debug purposes
|
// listHAAddons returns raw JSON from Supervisor API for debug
|
||||||
func listHAAddons() ([]map[string]string, string) {
|
func listHAAddons() (any, string) {
|
||||||
token := os.Getenv("SUPERVISOR_TOKEN")
|
token := os.Getenv("SUPERVISOR_TOKEN")
|
||||||
if token == "" {
|
if token == "" {
|
||||||
return nil, ""
|
return nil, ""
|
||||||
@@ -152,44 +152,20 @@ func listHAAddons() ([]map[string]string, string) {
|
|||||||
|
|
||||||
req, err := http.NewRequest("GET", "http://supervisor/addons", nil)
|
req, err := http.NewRequest("GET", "http://supervisor/addons", nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ""
|
return map[string]string{"error": err.Error()}, ""
|
||||||
}
|
}
|
||||||
req.Header.Set("Authorization", "Bearer "+token)
|
req.Header.Set("Authorization", "Bearer "+token)
|
||||||
|
|
||||||
resp, err := client.Do(req)
|
resp, err := client.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []map[string]string{{"error": err.Error()}}, ""
|
return map[string]string{"error": err.Error()}, ""
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
var body struct {
|
var raw any
|
||||||
Data struct {
|
if err = json.NewDecoder(resp.Body).Decode(&raw); err != nil {
|
||||||
Addons []struct {
|
return map[string]string{"error": err.Error()}, ""
|
||||||
Slug string `json:"slug"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
State string `json:"state"`
|
|
||||||
Hostname string `json:"hostname"`
|
|
||||||
} `json:"addons"`
|
|
||||||
} `json:"data"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = json.NewDecoder(resp.Body).Decode(&body); err != nil {
|
return raw, ""
|
||||||
return []map[string]string{{"error": err.Error()}}, ""
|
|
||||||
}
|
|
||||||
|
|
||||||
var addons []map[string]string
|
|
||||||
var frigateSlug string
|
|
||||||
for _, a := range body.Data.Addons {
|
|
||||||
addons = append(addons, map[string]string{
|
|
||||||
"slug": a.Slug,
|
|
||||||
"name": a.Name,
|
|
||||||
"state": a.State,
|
|
||||||
"hostname": a.Hostname,
|
|
||||||
})
|
|
||||||
if a.Slug == "ccab4aaf_frigate" || a.Slug == "frigate" {
|
|
||||||
frigateSlug = a.Slug
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return addons, frigateSlug
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user