From 806b7405aabd9cff87da460b697c029c54f7c23a Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Tue, 9 Aug 2022 04:26:24 -0400 Subject: [PATCH] RBAC: Handle case when folder id is negative (#53438) (#53439) (cherry picked from commit 592d31e61726bb2a48536fd9a45998789b934ba8) Co-authored-by: Karl Persson --- pkg/services/dashboards/accesscontrol.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/services/dashboards/accesscontrol.go b/pkg/services/dashboards/accesscontrol.go index 12cd4d65c2d..9047f5460ee 100644 --- a/pkg/services/dashboards/accesscontrol.go +++ b/pkg/services/dashboards/accesscontrol.go @@ -130,6 +130,10 @@ func NewDashboardUIDScopeResolver(db Store) (string, ac.ScopeAttributeResolver) func resolveDashboardScope(ctx context.Context, db Store, orgID int64, dashboard *models.Dashboard) ([]string, error) { var folderUID string + if dashboard.FolderId < 0 { + return []string{ScopeDashboardsProvider.GetResourceScopeUID(dashboard.Uid)}, nil + } + if dashboard.FolderId == 0 { folderUID = ac.GeneralFolderUID } else { @@ -139,6 +143,7 @@ func resolveDashboardScope(ctx context.Context, db Store, orgID int64, dashboard } folderUID = folder.Uid } + return []string{ ScopeDashboardsProvider.GetResourceScopeUID(dashboard.Uid), ScopeFoldersProvider.GetResourceScopeUID(folderUID),