From 84ff62d77372d110bd6cc80dd1efb597d1416a8d Mon Sep 17 00:00:00 2001 From: Daniel Lee Date: Fri, 16 Jun 2017 21:14:42 +0200 Subject: [PATCH] WIP: remove dashboard children on delete --- pkg/services/sqlstore/dashboard.go | 1 + pkg/services/sqlstore/dashboard_test.go | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/pkg/services/sqlstore/dashboard.go b/pkg/services/sqlstore/dashboard.go index 21baa63f2b0..489cc7022e6 100644 --- a/pkg/services/sqlstore/dashboard.go +++ b/pkg/services/sqlstore/dashboard.go @@ -371,6 +371,7 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error { "DELETE FROM dashboard WHERE id = ?", "DELETE FROM playlist_item WHERE type = 'dashboard_by_id' AND value = ?", "DELETE FROM dashboard_version WHERE dashboard_id = ?", + "DELETE FROM dashboard WHERE parent_id = ?", } for _, sql := range deletes { diff --git a/pkg/services/sqlstore/dashboard_test.go b/pkg/services/sqlstore/dashboard_test.go index 98439cb7178..9a8d2312e5d 100644 --- a/pkg/services/sqlstore/dashboard_test.go +++ b/pkg/services/sqlstore/dashboard_test.go @@ -247,6 +247,22 @@ func TestDashboardDataAccess(t *testing.T) { So(query.Result.ParentId, ShouldEqual, 0) }) + Convey("Should be able to delete a dashboard folder and its children", func() { + deleteCmd := &m.DeleteDashboardCommand{Slug: savedFolder.Slug} + err := DeleteDashboard(deleteCmd) + So(err, ShouldBeNil) + + query := search.FindPersistedDashboardsQuery{ + OrgId: 1, + ParentId: savedFolder.Id, + } + + err = SearchDashboards(&query) + So(err, ShouldBeNil) + + So(len(query.Result), ShouldEqual, 0) + }) + Convey("Should be able to get dashboard tags", func() { query := m.GetDashboardTagsQuery{OrgId: 1}