From c787239252467bf6dc665c414e104fec4445dbd7 Mon Sep 17 00:00:00 2001 From: Stephanie Hingtgen Date: Fri, 24 Jan 2025 03:26:05 -0700 Subject: [PATCH] Folder guardian: fail on empty uid (#99465) --- .../guardian/accesscontrol_guardian.go | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkg/services/guardian/accesscontrol_guardian.go b/pkg/services/guardian/accesscontrol_guardian.go index c521fa9221e..4282ac4e29e 100644 --- a/pkg/services/guardian/accesscontrol_guardian.go +++ b/pkg/services/guardian/accesscontrol_guardian.go @@ -109,22 +109,22 @@ func NewAccessControlFolderGuardianByUID( ctx context.Context, cfg *setting.Cfg, folderUID string, user identity.Requester, ac accesscontrol.AccessControl, dashboardService dashboards.DashboardService, foldersService folder.Service, ) (DashboardGuardian, error) { - var f *folder.Folder - if folderUID != "" { - q := &folder.GetFolderQuery{ - UID: &folderUID, - OrgID: user.GetOrgID(), - SignedInUser: user, - } + if folderUID == "" { + return nil, ErrGuardianFolderNotFound.Errorf("failed to get folder by UID: folder UID is empty") + } - qResult, err := foldersService.Get(ctx, q) - if err != nil { - if errors.Is(err, dashboards.ErrFolderNotFound) { - return nil, ErrGuardianFolderNotFound.Errorf("failed to get folder by UID: %w", err) - } - return nil, ErrGuardianGetFolderFailure.Errorf("failed to get folder by UID: %w", err) + q := &folder.GetFolderQuery{ + UID: &folderUID, + OrgID: user.GetOrgID(), + SignedInUser: user, + } + + f, err := foldersService.Get(ctx, q) + if err != nil { + if errors.Is(err, dashboards.ErrFolderNotFound) { + return nil, ErrGuardianFolderNotFound.Errorf("failed to get folder by UID: %w", err) } - f = qResult + return nil, ErrGuardianGetFolderFailure.Errorf("failed to get folder by UID: %w", err) } return &accessControlFolderGuardian{