diff --git a/public/app/features/browse-dashboards/api/services.ts b/public/app/features/browse-dashboards/api/services.ts index d8d43c5d222..468392e965f 100644 --- a/public/app/features/browse-dashboards/api/services.ts +++ b/public/app/features/browse-dashboards/api/services.ts @@ -4,6 +4,9 @@ import { getGrafanaSearcher, NestedFolderDTO } from 'app/features/search/service import { queryResultToViewItem } from 'app/features/search/service/utils'; import { DashboardViewItem } from 'app/features/search/types'; +import { contextSrv } from '../../../core/core'; +import { AccessControlAction } from '../../../types'; + export const PAGE_SIZE = 50; export async function listFolders( @@ -18,11 +21,14 @@ export async function listFolders( const backendSrv = getBackendSrv(); - const folders = await backendSrv.get('/api/folders', { - parentUid: parentUID, - page, - limit: pageSize, - }); + let folders: NestedFolderDTO[] = []; + if (contextSrv.hasPermission(AccessControlAction.FoldersRead)) { + folders = await backendSrv.get('/api/folders', { + parentUid: parentUID, + page, + limit: pageSize, + }); + } return folders.map((item) => ({ kind: 'folder',