mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Folder guardian: fail on empty uid (#99465)
This commit is contained in:
committed by
GitHub
parent
7cb6845d44
commit
c787239252
@@ -109,22 +109,22 @@ func NewAccessControlFolderGuardianByUID(
|
|||||||
ctx context.Context, cfg *setting.Cfg, folderUID string, user identity.Requester,
|
ctx context.Context, cfg *setting.Cfg, folderUID string, user identity.Requester,
|
||||||
ac accesscontrol.AccessControl, dashboardService dashboards.DashboardService, foldersService folder.Service,
|
ac accesscontrol.AccessControl, dashboardService dashboards.DashboardService, foldersService folder.Service,
|
||||||
) (DashboardGuardian, error) {
|
) (DashboardGuardian, error) {
|
||||||
var f *folder.Folder
|
if folderUID == "" {
|
||||||
if folderUID != "" {
|
return nil, ErrGuardianFolderNotFound.Errorf("failed to get folder by UID: folder UID is empty")
|
||||||
q := &folder.GetFolderQuery{
|
}
|
||||||
UID: &folderUID,
|
|
||||||
OrgID: user.GetOrgID(),
|
|
||||||
SignedInUser: user,
|
|
||||||
}
|
|
||||||
|
|
||||||
qResult, err := foldersService.Get(ctx, q)
|
q := &folder.GetFolderQuery{
|
||||||
if err != nil {
|
UID: &folderUID,
|
||||||
if errors.Is(err, dashboards.ErrFolderNotFound) {
|
OrgID: user.GetOrgID(),
|
||||||
return nil, ErrGuardianFolderNotFound.Errorf("failed to get folder by UID: %w", err)
|
SignedInUser: user,
|
||||||
}
|
}
|
||||||
return nil, ErrGuardianGetFolderFailure.Errorf("failed to get folder by UID: %w", err)
|
|
||||||
|
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{
|
return &accessControlFolderGuardian{
|
||||||
|
|||||||
Reference in New Issue
Block a user