From c34bd497493b11b0715a7e0bf5e6f0647867652d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 7 Apr 2025 23:04:17 +0000 Subject: [PATCH 1/3] chore(deps): update golangci/golangci-lint docker tag to v2 --- .woodpecker/.lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/.lint.yaml b/.woodpecker/.lint.yaml index 91a6ee0..d891525 100644 --- a/.woodpecker/.lint.yaml +++ b/.woodpecker/.lint.yaml @@ -13,7 +13,7 @@ steps: when: - event: push - name: golangci-linter - image: golangci/golangci-lint:v1.64.8 + image: golangci/golangci-lint:v2.0.2 commands: - golangci-lint run ./... when: From 5106b946f3f0e2a0f794bc39dc29c8f01d545d67 Mon Sep 17 00:00:00 2001 From: Tom Neuber Date: Wed, 9 Apr 2025 01:57:33 +0200 Subject: [PATCH 2/3] feat(grafana): add new api response for dashboard versions --- pkg/grafana/dashboard_version.go | 21 ++++++++++++++++----- pkg/grafana/schema/dashboard_version.go | 11 +++++++++-- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/pkg/grafana/dashboard_version.go b/pkg/grafana/dashboard_version.go index d3c6a96..c2764dd 100644 --- a/pkg/grafana/dashboard_version.go +++ b/pkg/grafana/dashboard_version.go @@ -5,6 +5,7 @@ import ( "fmt" "net/url" "strconv" + "strings" "time" "git.ar21.de/yolokube/grafana-backuper/pkg/grafana/schema" @@ -167,15 +168,25 @@ func (c *DashboardVersionClient) list( return nil, nil, err } - var body schema.DashboardVersionListResponse - + var versions schema.DashboardVersionListResponseV10 + body := schema.DashboardVersionListResponse{} resp, err := c.client.do(req, &body) if err != nil { - return nil, resp, err + if !strings.Contains(err.Error(), "cannot unmarshal object") { + return nil, resp, err + } + bodyV10 := schema.DashboardVersionListResponseV10{} + resp, err = c.client.do(req, &bodyV10) + if err != nil { + return nil, resp, err + } + versions = bodyV10 + } else { + versions = body.Versions } - dashboardVersions := make([]*DashboardVersion, 0, len(body)) - for _, dashboardVersion := range body { + dashboardVersions := make([]*DashboardVersion, 0, len(versions)) + for _, dashboardVersion := range versions { dashboardVersions = append(dashboardVersions, DashboardVersionFromSchema(dashboardVersion)) } diff --git a/pkg/grafana/schema/dashboard_version.go b/pkg/grafana/schema/dashboard_version.go index 45f2643..829dafb 100644 --- a/pkg/grafana/schema/dashboard_version.go +++ b/pkg/grafana/schema/dashboard_version.go @@ -1,6 +1,8 @@ package schema -import "time" +import ( + "time" +) type DashboardVersion struct { ID uint `json:"id"` @@ -15,4 +17,9 @@ type DashboardVersion struct { Data any `json:"data"` } -type DashboardVersionListResponse []DashboardVersion +type DashboardVersionListResponseV10 []DashboardVersion + +type DashboardVersionListResponse struct { + ContinueToken string `json:"continueToken"` + Versions DashboardVersionListResponseV10 `json:"versions"` +} From 4b1986c645bde078096395dad0a889f9248cee27 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Apr 2025 01:04:23 +0000 Subject: [PATCH 3/3] chore(deps): update golangci/golangci-lint docker tag to v2 --- .woodpecker/.lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/.lint.yaml b/.woodpecker/.lint.yaml index 91a6ee0..d891525 100644 --- a/.woodpecker/.lint.yaml +++ b/.woodpecker/.lint.yaml @@ -13,7 +13,7 @@ steps: when: - event: push - name: golangci-linter - image: golangci/golangci-lint:v1.64.8 + image: golangci/golangci-lint:v2.0.2 commands: - golangci-lint run ./... when: