Skip to content

Commit 4b551ae

Browse files
authored
Chore: Remove result field from dashboards (grafana#65249)
remove result field from dashboards
1 parent 959349d commit 4b551ae

File tree

8 files changed

+131
-125
lines changed

8 files changed

+131
-125
lines changed

pkg/services/dashboards/dashboard.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
alertmodels "github.com/grafana/grafana/pkg/services/alerting/models"
77
"github.com/grafana/grafana/pkg/services/folder"
88
"github.com/grafana/grafana/pkg/services/quota"
9+
"github.com/grafana/grafana/pkg/services/search/model"
910
)
1011

1112
// DashboardService is a service for operating on dashboards.
@@ -25,7 +26,7 @@ type DashboardService interface {
2526
ImportDashboard(ctx context.Context, dto *SaveDashboardDTO) (*Dashboard, error)
2627
MakeUserAdmin(ctx context.Context, orgID int64, userID, dashboardID int64, setViewAndEditPermissions bool) error
2728
SaveDashboard(ctx context.Context, dto *SaveDashboardDTO, allowUiUpdate bool) (*Dashboard, error)
28-
SearchDashboards(ctx context.Context, query *FindPersistedDashboardsQuery) error
29+
SearchDashboards(ctx context.Context, query *FindPersistedDashboardsQuery) (model.HitList, error)
2930
UpdateDashboardACL(ctx context.Context, uid int64, items []*DashboardACL) error
3031
DeleteACLByUser(ctx context.Context, userID int64) error
3132
CountDashboardsInFolder(ctx context.Context, query *CountDashboardsInFolderQuery) (int64, error)

pkg/services/dashboards/dashboard_service_mock.go

+16-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/services/dashboards/database/database_folder_test.go

+64-64
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
5555
OrgId: 1,
5656
DashboardIds: []int64{flder.ID, dashInRoot.ID},
5757
}
58-
err := testSearchDashboards(dashboardStore, query)
58+
hits, err := testSearchDashboards(dashboardStore, query)
5959
require.NoError(t, err)
60-
require.Equal(t, len(query.Result), 2)
61-
require.Equal(t, query.Result[0].ID, flder.ID)
62-
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
60+
require.Equal(t, len(hits), 2)
61+
require.Equal(t, hits[0].ID, flder.ID)
62+
require.Equal(t, hits[1].ID, dashInRoot.ID)
6363
})
6464
})
6565

@@ -78,11 +78,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
7878
SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer},
7979
OrgId: 1, DashboardIds: []int64{flder.ID, dashInRoot.ID},
8080
}
81-
err := testSearchDashboards(dashboardStore, query)
81+
hits, err := testSearchDashboards(dashboardStore, query)
8282
require.NoError(t, err)
8383

84-
require.Equal(t, len(query.Result), 1)
85-
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
84+
require.Equal(t, len(hits), 1)
85+
require.Equal(t, hits[0].ID, dashInRoot.ID)
8686
})
8787

8888
t.Run("when the user is given permission", func(t *testing.T) {
@@ -97,11 +97,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
9797
OrgId: 1,
9898
DashboardIds: []int64{flder.ID, dashInRoot.ID},
9999
}
100-
err := testSearchDashboards(dashboardStore, query)
100+
hits, err := testSearchDashboards(dashboardStore, query)
101101
require.NoError(t, err)
102-
require.Equal(t, len(query.Result), 2)
103-
require.Equal(t, query.Result[0].ID, flder.ID)
104-
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
102+
require.Equal(t, len(hits), 2)
103+
require.Equal(t, hits[0].ID, flder.ID)
104+
require.Equal(t, hits[1].ID, dashInRoot.ID)
105105
})
106106
})
107107

@@ -116,11 +116,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
116116
OrgId: 1,
117117
DashboardIds: []int64{flder.ID, dashInRoot.ID},
118118
}
119-
err := testSearchDashboards(dashboardStore, query)
119+
hits, err := testSearchDashboards(dashboardStore, query)
120120
require.NoError(t, err)
121-
require.Equal(t, len(query.Result), 2)
122-
require.Equal(t, query.Result[0].ID, flder.ID)
123-
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
121+
require.Equal(t, len(hits), 2)
122+
require.Equal(t, hits[0].ID, flder.ID)
123+
require.Equal(t, hits[1].ID, dashInRoot.ID)
124124
})
125125
})
126126
})
@@ -138,10 +138,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
138138
query := &dashboards.FindPersistedDashboardsQuery{
139139
SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer}, OrgId: 1, DashboardIds: []int64{flder.ID, childDash.ID, dashInRoot.ID},
140140
}
141-
err := testSearchDashboards(dashboardStore, query)
141+
hits, err := testSearchDashboards(dashboardStore, query)
142142
require.NoError(t, err)
143-
require.Equal(t, len(query.Result), 1)
144-
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
143+
require.Equal(t, len(hits), 1)
144+
require.Equal(t, hits[0].ID, dashInRoot.ID)
145145
})
146146

147147
t.Run("when the user is given permission to child", func(t *testing.T) {
@@ -152,11 +152,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
152152

153153
t.Run("should be able to search for child dashboard but not folder", func(t *testing.T) {
154154
query := &dashboards.FindPersistedDashboardsQuery{SignedInUser: &user.SignedInUser{UserID: currentUser.ID, OrgID: 1, OrgRole: org.RoleViewer}, OrgId: 1, DashboardIds: []int64{flder.ID, childDash.ID, dashInRoot.ID}}
155-
err := testSearchDashboards(dashboardStore, query)
155+
hits, err := testSearchDashboards(dashboardStore, query)
156156
require.NoError(t, err)
157-
require.Equal(t, len(query.Result), 2)
158-
require.Equal(t, query.Result[0].ID, childDash.ID)
159-
require.Equal(t, query.Result[1].ID, dashInRoot.ID)
157+
require.Equal(t, len(hits), 2)
158+
require.Equal(t, hits[0].ID, childDash.ID)
159+
require.Equal(t, hits[1].ID, dashInRoot.ID)
160160
})
161161
})
162162

@@ -171,12 +171,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
171171
OrgId: 1,
172172
DashboardIds: []int64{flder.ID, dashInRoot.ID, childDash.ID},
173173
}
174-
err := testSearchDashboards(dashboardStore, query)
174+
hits, err := testSearchDashboards(dashboardStore, query)
175175
require.NoError(t, err)
176-
require.Equal(t, len(query.Result), 3)
177-
require.Equal(t, query.Result[0].ID, flder.ID)
178-
require.Equal(t, query.Result[1].ID, childDash.ID)
179-
require.Equal(t, query.Result[2].ID, dashInRoot.ID)
176+
require.Equal(t, len(hits), 3)
177+
require.Equal(t, hits[0].ID, flder.ID)
178+
require.Equal(t, hits[1].ID, childDash.ID)
179+
require.Equal(t, hits[2].ID, dashInRoot.ID)
180180
})
181181
})
182182
})
@@ -212,13 +212,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
212212
},
213213
OrgId: 1,
214214
}
215-
err := testSearchDashboards(dashboardStore, query)
215+
hits, err := testSearchDashboards(dashboardStore, query)
216216
require.NoError(t, err)
217-
require.Equal(t, len(query.Result), 4)
218-
require.Equal(t, query.Result[0].ID, folder1.ID)
219-
require.Equal(t, query.Result[1].ID, folder2.ID)
220-
require.Equal(t, query.Result[2].ID, childDash1.ID)
221-
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
217+
require.Equal(t, len(hits), 4)
218+
require.Equal(t, hits[0].ID, folder1.ID)
219+
require.Equal(t, hits[1].ID, folder2.ID)
220+
require.Equal(t, hits[2].ID, childDash1.ID)
221+
require.Equal(t, hits[3].ID, dashInRoot.ID)
222222
})
223223
})
224224

@@ -238,10 +238,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
238238
OrgId: 1,
239239
DashboardIds: []int64{folder1.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
240240
}
241-
err := testSearchDashboards(dashboardStore, query)
241+
hits, err := testSearchDashboards(dashboardStore, query)
242242
require.NoError(t, err)
243-
require.Equal(t, len(query.Result), 1)
244-
require.Equal(t, query.Result[0].ID, dashInRoot.ID)
243+
require.Equal(t, len(hits), 1)
244+
require.Equal(t, hits[0].ID, dashInRoot.ID)
245245
})
246246
})
247247
t.Run("and a dashboard is moved from folder with acl to the folder without an acl", func(t *testing.T) {
@@ -254,13 +254,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
254254
OrgId: 1,
255255
DashboardIds: []int64{folder2.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
256256
}
257-
err := testSearchDashboards(dashboardStore, query)
257+
hits, err := testSearchDashboards(dashboardStore, query)
258258
require.NoError(t, err)
259-
require.Equal(t, len(query.Result), 4)
260-
require.Equal(t, query.Result[0].ID, folder2.ID)
261-
require.Equal(t, query.Result[1].ID, childDash1.ID)
262-
require.Equal(t, query.Result[2].ID, childDash2.ID)
263-
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
259+
require.Equal(t, len(hits), 4)
260+
require.Equal(t, hits[0].ID, folder2.ID)
261+
require.Equal(t, hits[1].ID, childDash1.ID)
262+
require.Equal(t, hits[2].ID, childDash2.ID)
263+
require.Equal(t, hits[3].ID, dashInRoot.ID)
264264
})
265265
})
266266

@@ -278,13 +278,13 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
278278
OrgId: 1,
279279
DashboardIds: []int64{folder2.ID, childDash1.ID, childDash2.ID, dashInRoot.ID},
280280
}
281-
err = testSearchDashboards(dashboardStore, query)
281+
hits, err := testSearchDashboards(dashboardStore, query)
282282
require.NoError(t, err)
283-
require.Equal(t, len(query.Result), 4)
284-
require.Equal(t, query.Result[0].ID, folder2.ID)
285-
require.Equal(t, query.Result[1].ID, childDash1.ID)
286-
require.Equal(t, query.Result[2].ID, childDash2.ID)
287-
require.Equal(t, query.Result[3].ID, dashInRoot.ID)
283+
require.Equal(t, len(hits), 4)
284+
require.Equal(t, hits[0].ID, folder2.ID)
285+
require.Equal(t, hits[1].ID, childDash1.ID)
286+
require.Equal(t, hits[2].ID, childDash2.ID)
287+
require.Equal(t, hits[3].ID, dashInRoot.ID)
288288
})
289289
})
290290
})
@@ -319,12 +319,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
319319
Type: "dash-folder",
320320
}
321321

322-
err := testSearchDashboards(dashboardStore, &query)
322+
hits, err := testSearchDashboards(dashboardStore, &query)
323323
require.NoError(t, err)
324324

325-
require.Equal(t, len(query.Result), 2)
326-
require.Equal(t, query.Result[0].ID, folder1.ID)
327-
require.Equal(t, query.Result[1].ID, folder2.ID)
325+
require.Equal(t, len(hits), 2)
326+
require.Equal(t, hits[0].ID, folder1.ID)
327+
require.Equal(t, hits[1].ID, folder2.ID)
328328
})
329329

330330
t.Run("should have edit permission in folders", func(t *testing.T) {
@@ -354,12 +354,12 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
354354
}
355355

356356
t.Run("Should have write access to all dashboard folders with default ACL", func(t *testing.T) {
357-
err := testSearchDashboards(dashboardStore, &query)
357+
hits, err := testSearchDashboards(dashboardStore, &query)
358358
require.NoError(t, err)
359359

360-
require.Equal(t, len(query.Result), 2)
361-
require.Equal(t, query.Result[0].ID, folder1.ID)
362-
require.Equal(t, query.Result[1].ID, folder2.ID)
360+
require.Equal(t, len(hits), 2)
361+
require.Equal(t, hits[0].ID, folder1.ID)
362+
require.Equal(t, hits[1].ID, folder2.ID)
363363
})
364364

365365
t.Run("Should have write access to one dashboard folder if default role changed to view for one folder", func(t *testing.T) {
@@ -368,11 +368,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
368368
})
369369
require.NoError(t, err)
370370

371-
err = testSearchDashboards(dashboardStore, &query)
371+
hits, err := testSearchDashboards(dashboardStore, &query)
372372
require.NoError(t, err)
373373

374-
require.Equal(t, len(query.Result), 1)
375-
require.Equal(t, query.Result[0].ID, folder2.ID)
374+
require.Equal(t, len(hits), 1)
375+
require.Equal(t, hits[0].ID, folder2.ID)
376376
})
377377

378378
t.Run("should have edit permission in folders", func(t *testing.T) {
@@ -402,10 +402,10 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
402402
}
403403

404404
t.Run("Should have no write access to any dashboard folders with default ACL", func(t *testing.T) {
405-
err := testSearchDashboards(dashboardStore, &query)
405+
hits, err := testSearchDashboards(dashboardStore, &query)
406406
require.NoError(t, err)
407407

408-
require.Equal(t, len(query.Result), 0)
408+
require.Equal(t, len(hits), 0)
409409
})
410410

411411
t.Run("Should be able to get one dashboard folder if default role changed to edit for one folder", func(t *testing.T) {
@@ -414,11 +414,11 @@ func TestIntegrationDashboardFolderDataAccess(t *testing.T) {
414414
})
415415
require.NoError(t, err)
416416

417-
err = testSearchDashboards(dashboardStore, &query)
417+
hits, err := testSearchDashboards(dashboardStore, &query)
418418
require.NoError(t, err)
419419

420-
require.Equal(t, len(query.Result), 1)
421-
require.Equal(t, query.Result[0].ID, folder1.ID)
420+
require.Equal(t, len(hits), 1)
421+
require.Equal(t, hits[0].ID, folder1.ID)
422422
})
423423

424424
t.Run("should not have edit permission in folders", func(t *testing.T) {

0 commit comments

Comments
 (0)