From b7d274c93b33e11a2c51b3180b0e55bfc19fd4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Sun, 24 Jun 2018 17:13:49 +0200 Subject: [PATCH] refactor(api): return alert groups as a mapping id->group --- internal/models/api.go | 2 +- views.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/models/api.go b/internal/models/api.go index 88e73b567..381bfb628 100644 --- a/internal/models/api.go +++ b/internal/models/api.go @@ -34,7 +34,7 @@ type AlertsResponse struct { Timestamp string `json:"timestamp"` Version string `json:"version"` Upstreams AlertmanagerAPISummary `json:"upstreams"` - AlertGroups []AlertGroup `json:"groups"` + AlertGroups map[string]AlertGroup `json:"groups"` Colors LabelsColorMap `json:"colors"` Filters []Filter `json:"filters"` Counters LabelsCountMap `json:"counters"` diff --git a/views.go b/views.go index 7446bda5d..5b1009c90 100644 --- a/views.go +++ b/views.go @@ -94,7 +94,7 @@ func alerts(c *gin.Context) { matchFilters, validFilters := getFiltersFromQuery(c.Query("q")) // set pointers for data store objects, need a lock until end of view is reached - alerts := []models.AlertGroup{} + alerts := map[string]models.AlertGroup{} colors := models.LabelsColorMap{} // used for top labels dropdown counters := models.LabelsCountMap{} @@ -164,7 +164,7 @@ func alerts(c *gin.Context) { if len(agCopy.Alerts) > 0 { agCopy.Hash = agCopy.ContentFingerprint() - alerts = append(alerts, agCopy) + alerts[agCopy.ID] = agCopy } }