Simplify listHAAddons to return raw Supervisor API JSON

This commit is contained in:
eduard256
2026-03-25 18:37:53 +00:00
parent a9ab7e2ba6
commit 62dcd89fc5
+8 -32
View File
@@ -141,8 +141,8 @@ func findFrigateAddon(token string) string {
return ""
}
// listHAAddons returns addon list for debug purposes
func listHAAddons() ([]map[string]string, string) {
// listHAAddons returns raw JSON from Supervisor API for debug
func listHAAddons() (any, string) {
token := os.Getenv("SUPERVISOR_TOKEN")
if token == "" {
return nil, ""
@@ -152,44 +152,20 @@ func listHAAddons() ([]map[string]string, string) {
req, err := http.NewRequest("GET", "http://supervisor/addons", nil)
if err != nil {
return nil, ""
return map[string]string{"error": err.Error()}, ""
}
req.Header.Set("Authorization", "Bearer "+token)
resp, err := client.Do(req)
if err != nil {
return []map[string]string{{"error": err.Error()}}, ""
return map[string]string{"error": err.Error()}, ""
}
defer resp.Body.Close()
var body struct {
Data struct {
Addons []struct {
Slug string `json:"slug"`
Name string `json:"name"`
State string `json:"state"`
Hostname string `json:"hostname"`
} `json:"addons"`
} `json:"data"`
var raw any
if err = json.NewDecoder(resp.Body).Decode(&raw); err != nil {
return map[string]string{"error": err.Error()}, ""
}
if err = json.NewDecoder(resp.Body).Decode(&body); err != nil {
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
return raw, ""
}