AccessControl: Refactor addAccessControlQueryParam (#44191)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
This commit is contained in:
Gabriel MABILLE 2022-01-19 11:27:45 +01:00 committed by GitHub
parent 99cdb56f72
commit ba839d1f7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 11 deletions

View File

@ -1,9 +1,9 @@
import config from '../../core/config'; import config from '../../core/config';
// addAccessControlQueryParam appends ?accesscontrol=true to a url when accesscontrol is enabled // accessControlQueryParam adds an additional accesscontrol=true param to params when accesscontrol is enabled
export function addAccessControlQueryParam(url: string): string { export function accessControlQueryParam(params = {}) {
if (!config.featureToggles['accesscontrol']) { if (!config.featureToggles['accesscontrol']) {
return url; return params;
} }
return url + '?accesscontrol=true'; return { ...params, accesscontrol: true };
} }

View File

@ -25,7 +25,7 @@ import {
} from './reducers'; } from './reducers';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { contextSrv } from 'app/core/core'; import { contextSrv } from 'app/core/core';
import { addAccessControlQueryParam } from 'app/core/utils/accessControl'; import { accessControlQueryParam } from 'app/core/utils/accessControl';
// UserAdminPage // UserAdminPage
export function loadAdminUserPage(userId: number): ThunkResult<void> { export function loadAdminUserPage(userId: number): ThunkResult<void> {
@ -54,7 +54,7 @@ export function loadAdminUserPage(userId: number): ThunkResult<void> {
export function loadUserProfile(userId: number): ThunkResult<void> { export function loadUserProfile(userId: number): ThunkResult<void> {
return async (dispatch) => { return async (dispatch) => {
const user = await getBackendSrv().get(addAccessControlQueryParam(`/api/users/${userId}`)); const user = await getBackendSrv().get(`/api/users/${userId}`, accessControlQueryParam());
dispatch(userProfileLoadedAction(user)); dispatch(userProfileLoadedAction(user));
}; };
} }

View File

@ -25,7 +25,7 @@ import {
testDataSourceSucceeded, testDataSourceSucceeded,
} from './reducers'; } from './reducers';
import { getDataSource, getDataSourceMeta } from './selectors'; import { getDataSource, getDataSourceMeta } from './selectors';
import { addAccessControlQueryParam } from 'app/core/utils/accessControl'; import { accessControlQueryParam } from 'app/core/utils/accessControl';
export interface DataSourceTypesLoadedPayload { export interface DataSourceTypesLoadedPayload {
plugins: DataSourcePluginMeta[]; plugins: DataSourcePluginMeta[];
@ -155,7 +155,8 @@ export async function getDataSourceUsingUidOrId(uid: string | number): Promise<D
const byUid = await lastValueFrom( const byUid = await lastValueFrom(
getBackendSrv().fetch<DataSourceSettings>({ getBackendSrv().fetch<DataSourceSettings>({
method: 'GET', method: 'GET',
url: addAccessControlQueryParam(`/api/datasources/uid/${uid}`), url: `/api/datasources/uid/${uid}`,
params: accessControlQueryParam(),
showErrorAlert: false, showErrorAlert: false,
}) })
); );
@ -173,7 +174,8 @@ export async function getDataSourceUsingUidOrId(uid: string | number): Promise<D
const response = await lastValueFrom( const response = await lastValueFrom(
getBackendSrv().fetch<DataSourceSettings>({ getBackendSrv().fetch<DataSourceSettings>({
method: 'GET', method: 'GET',
url: addAccessControlQueryParam(`/api/datasources/${id}`), url: `/api/datasources/${id}`,
params: accessControlQueryParam(),
showErrorAlert: false, showErrorAlert: false,
}) })
); );

View File

@ -3,11 +3,11 @@ import { getBackendSrv } from '@grafana/runtime';
import { OrgUser } from 'app/types'; import { OrgUser } from 'app/types';
import { inviteesLoaded, usersLoaded } from './reducers'; import { inviteesLoaded, usersLoaded } from './reducers';
import { contextSrv } from 'app/core/core'; import { contextSrv } from 'app/core/core';
import { addAccessControlQueryParam } from 'app/core/utils/accessControl'; import { accessControlQueryParam } from 'app/core/utils/accessControl';
export function loadUsers(): ThunkResult<void> { export function loadUsers(): ThunkResult<void> {
return async (dispatch) => { return async (dispatch) => {
const users = await getBackendSrv().get(addAccessControlQueryParam('/api/org/users')); const users = await getBackendSrv().get('/api/org/users', accessControlQueryParam());
dispatch(usersLoaded(users)); dispatch(usersLoaded(users));
}; };
} }