@commercetools-frontend/permissions 27.10.0 → 27.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commercetools-frontend-permissions.cjs.dev.js +19 -3
- package/dist/commercetools-frontend-permissions.cjs.prod.js +19 -3
- package/dist/commercetools-frontend-permissions.esm.js +18 -2
- package/dist/declarations/src/components/authorized/authorized.d.ts +1 -0
- package/dist/declarations/src/components/restricted-by-permissions/restricted-by-permissions.d.ts +1 -0
- package/dist/declarations/src/hooks/use-is-authorized/use-is-authorized.d.ts +2 -1
- package/package.json +3 -3
|
@@ -15,12 +15,12 @@ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/ob
|
|
|
15
15
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
16
16
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
17
17
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
18
|
+
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
18
19
|
var warning = require('tiny-warning');
|
|
19
20
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
20
21
|
var sentry = require('@commercetools-frontend/sentry');
|
|
21
22
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
22
23
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
23
|
-
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
24
24
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
25
25
|
var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
26
26
|
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
@@ -41,9 +41,9 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
|
|
|
41
41
|
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
42
42
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
43
43
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
44
|
+
var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
|
|
44
45
|
var warning__default = /*#__PURE__*/_interopDefault(warning);
|
|
45
46
|
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
46
|
-
var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
|
|
47
47
|
var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
|
|
48
48
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
49
49
|
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
@@ -52,7 +52,7 @@ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
|
52
52
|
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
53
53
|
|
|
54
54
|
// NOTE: This string will be replaced on build time with the package version.
|
|
55
|
-
var version = "27.
|
|
55
|
+
var version = "27.11.1";
|
|
56
56
|
|
|
57
57
|
// Permissions
|
|
58
58
|
|
|
@@ -273,15 +273,29 @@ const useIsAuthorized = _ref => {
|
|
|
273
273
|
selectDataFenceData = _ref.selectDataFenceData,
|
|
274
274
|
_ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
275
275
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
276
|
+
isUserAdminOfCurrentProject = _ref.isUserAdminOfCurrentProject,
|
|
276
277
|
projectPermissions = _ref.projectPermissions;
|
|
277
278
|
const impliedPermissions = getImpliedPermissions(demandedPermissions);
|
|
278
279
|
useWarning(!demandedActionRights || demandedActionRights.length === 1, `@commercetools-frontend/permissions: It is recommended to pass a single demanded action right while using the hook, HoC or component multiple times.`);
|
|
279
280
|
useWarning(!demandedPermissions || demandedPermissions.length === 1, `@commercetools-frontend/permissions: It is recommended to pass a single demanded permission while using the hook, HoC or component multiple times.`);
|
|
280
281
|
useWarning(shouldMatchSomePermissions === false, `@commercetools-frontend/permissions: It is recommended not to use 'shouldMatchSomePermissions' but instead use the hook, HoC or component multiple times.`);
|
|
281
282
|
useWarning(!impliedPermissions || impliedPermissions.length === 0, `@commercetools-frontend/permissions: Demanded permissions contain implied permissions. These are implied: ${impliedPermissions.join(', ')}.`);
|
|
283
|
+
|
|
284
|
+
// Check first if we need an "admin" permission check
|
|
285
|
+
const hasDemandedAdministratorPermission = _includesInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, 'Administrator');
|
|
286
|
+
useWarning(!hasDemandedAdministratorPermission || demandedPermissions.length === 1, `@commercetools-frontend/permissions: When demanding the "Administrator" permission, no other permissions must be demanded.`);
|
|
287
|
+
const hasDemandedAdministratorOfCurrentProjectPermission = _includesInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, 'AdministratorOfCurrentProject');
|
|
288
|
+
useWarning(!hasDemandedAdministratorOfCurrentProjectPermission || demandedPermissions.length === 1, `@commercetools-frontend/permissions: When demanding the "AdministratorOfCurrentProject" permission, no other permissions must be demanded.`);
|
|
289
|
+
const isAdminOfAnyOrganization = applicationShellConnectors.useApplicationContext(applicationContext => applicationContext.user?.isAdminOfAnyOrganization ?? false);
|
|
282
290
|
const actualPermissions = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.permissions ?? applicationContext.permissions);
|
|
283
291
|
const actualActionRights = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.actionRights ?? applicationContext.actionRights);
|
|
284
292
|
const actualDataFences = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.dataFences ?? applicationContext.dataFences);
|
|
293
|
+
if (hasDemandedAdministratorPermission) {
|
|
294
|
+
return isAdminOfAnyOrganization;
|
|
295
|
+
}
|
|
296
|
+
if (hasDemandedAdministratorOfCurrentProjectPermission) {
|
|
297
|
+
return isUserAdminOfCurrentProject ?? false;
|
|
298
|
+
}
|
|
285
299
|
|
|
286
300
|
// if the user has no permissions and no dataFences assigned to them, they are not authorized
|
|
287
301
|
if (!actualPermissions && !actualDataFences) return false;
|
|
@@ -326,6 +340,7 @@ const Authorized = _ref => {
|
|
|
326
340
|
demandedDataFences: props.demandedDataFences,
|
|
327
341
|
selectDataFenceData: props.selectDataFenceData,
|
|
328
342
|
shouldMatchSomePermissions: shouldMatchSomePermissions,
|
|
343
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
329
344
|
projectPermissions: props.projectPermissions
|
|
330
345
|
});
|
|
331
346
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -370,6 +385,7 @@ const RestrictedByPermissions = props => {
|
|
|
370
385
|
demandedActionRights: props.actionRights,
|
|
371
386
|
demandedDataFences: props.dataFences,
|
|
372
387
|
selectDataFenceData: props.selectDataFenceData,
|
|
388
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
373
389
|
projectPermissions: props.projectPermissions,
|
|
374
390
|
render: isAuthorized => {
|
|
375
391
|
if (typeof props.children === 'function') return props.children({
|
|
@@ -15,12 +15,12 @@ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/ob
|
|
|
15
15
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
16
16
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
17
17
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
18
|
+
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
18
19
|
require('tiny-warning');
|
|
19
20
|
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
20
21
|
var sentry = require('@commercetools-frontend/sentry');
|
|
21
22
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
22
23
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
23
|
-
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
24
24
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
25
25
|
var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
26
26
|
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
@@ -41,8 +41,8 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
|
|
|
41
41
|
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
42
42
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
43
43
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
44
|
-
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
45
44
|
var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
|
|
45
|
+
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
46
46
|
var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
|
|
47
47
|
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
48
48
|
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
@@ -51,7 +51,7 @@ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
|
51
51
|
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
52
52
|
|
|
53
53
|
// NOTE: This string will be replaced on build time with the package version.
|
|
54
|
-
var version = "27.
|
|
54
|
+
var version = "27.11.1";
|
|
55
55
|
|
|
56
56
|
// Permissions
|
|
57
57
|
|
|
@@ -271,15 +271,29 @@ const useIsAuthorized = _ref => {
|
|
|
271
271
|
selectDataFenceData = _ref.selectDataFenceData,
|
|
272
272
|
_ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
273
273
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
274
|
+
isUserAdminOfCurrentProject = _ref.isUserAdminOfCurrentProject,
|
|
274
275
|
projectPermissions = _ref.projectPermissions;
|
|
275
276
|
const impliedPermissions = getImpliedPermissions(demandedPermissions);
|
|
276
277
|
useWarning(!demandedActionRights || demandedActionRights.length === 1);
|
|
277
278
|
useWarning(!demandedPermissions || demandedPermissions.length === 1);
|
|
278
279
|
useWarning();
|
|
279
280
|
useWarning(!impliedPermissions || impliedPermissions.length === 0, `@commercetools-frontend/permissions: Demanded permissions contain implied permissions. These are implied: ${impliedPermissions.join(', ')}.`);
|
|
281
|
+
|
|
282
|
+
// Check first if we need an "admin" permission check
|
|
283
|
+
const hasDemandedAdministratorPermission = _includesInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, 'Administrator');
|
|
284
|
+
useWarning(!hasDemandedAdministratorPermission || demandedPermissions.length === 1);
|
|
285
|
+
const hasDemandedAdministratorOfCurrentProjectPermission = _includesInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, 'AdministratorOfCurrentProject');
|
|
286
|
+
useWarning(!hasDemandedAdministratorOfCurrentProjectPermission || demandedPermissions.length === 1);
|
|
287
|
+
const isAdminOfAnyOrganization = applicationShellConnectors.useApplicationContext(applicationContext => applicationContext.user?.isAdminOfAnyOrganization ?? false);
|
|
280
288
|
const actualPermissions = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.permissions ?? applicationContext.permissions);
|
|
281
289
|
const actualActionRights = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.actionRights ?? applicationContext.actionRights);
|
|
282
290
|
const actualDataFences = applicationShellConnectors.useApplicationContext(applicationContext => projectPermissions?.dataFences ?? applicationContext.dataFences);
|
|
291
|
+
if (hasDemandedAdministratorPermission) {
|
|
292
|
+
return isAdminOfAnyOrganization;
|
|
293
|
+
}
|
|
294
|
+
if (hasDemandedAdministratorOfCurrentProjectPermission) {
|
|
295
|
+
return isUserAdminOfCurrentProject ?? false;
|
|
296
|
+
}
|
|
283
297
|
|
|
284
298
|
// if the user has no permissions and no dataFences assigned to them, they are not authorized
|
|
285
299
|
if (!actualPermissions && !actualDataFences) return false;
|
|
@@ -324,6 +338,7 @@ const Authorized = _ref => {
|
|
|
324
338
|
demandedDataFences: props.demandedDataFences,
|
|
325
339
|
selectDataFenceData: props.selectDataFenceData,
|
|
326
340
|
shouldMatchSomePermissions: shouldMatchSomePermissions,
|
|
341
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
327
342
|
projectPermissions: props.projectPermissions
|
|
328
343
|
});
|
|
329
344
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -368,6 +383,7 @@ const RestrictedByPermissions = props => {
|
|
|
368
383
|
demandedActionRights: props.actionRights,
|
|
369
384
|
demandedDataFences: props.dataFences,
|
|
370
385
|
selectDataFenceData: props.selectDataFenceData,
|
|
386
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
371
387
|
projectPermissions: props.projectPermissions,
|
|
372
388
|
render: isAuthorized => {
|
|
373
389
|
if (typeof props.children === 'function') return props.children({
|
|
@@ -11,12 +11,12 @@ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/obje
|
|
|
11
11
|
import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
|
|
12
12
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
13
13
|
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';
|
|
14
|
+
import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
|
|
14
15
|
import warning from 'tiny-warning';
|
|
15
16
|
import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
|
|
16
17
|
import { reportErrorToSentry } from '@commercetools-frontend/sentry';
|
|
17
18
|
import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
|
|
18
19
|
import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
|
|
19
|
-
import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
|
|
20
20
|
import _everyInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/every';
|
|
21
21
|
import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
|
|
22
22
|
import _valuesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/values';
|
|
@@ -26,7 +26,7 @@ import upperFirst from 'lodash/upperFirst';
|
|
|
26
26
|
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
27
27
|
|
|
28
28
|
// NOTE: This string will be replaced on build time with the package version.
|
|
29
|
-
var version = "27.
|
|
29
|
+
var version = "27.11.1";
|
|
30
30
|
|
|
31
31
|
// Permissions
|
|
32
32
|
|
|
@@ -247,15 +247,29 @@ const useIsAuthorized = _ref => {
|
|
|
247
247
|
selectDataFenceData = _ref.selectDataFenceData,
|
|
248
248
|
_ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
249
249
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
250
|
+
isUserAdminOfCurrentProject = _ref.isUserAdminOfCurrentProject,
|
|
250
251
|
projectPermissions = _ref.projectPermissions;
|
|
251
252
|
const impliedPermissions = getImpliedPermissions(demandedPermissions);
|
|
252
253
|
useWarning(!demandedActionRights || demandedActionRights.length === 1, `@commercetools-frontend/permissions: It is recommended to pass a single demanded action right while using the hook, HoC or component multiple times.`);
|
|
253
254
|
useWarning(!demandedPermissions || demandedPermissions.length === 1, `@commercetools-frontend/permissions: It is recommended to pass a single demanded permission while using the hook, HoC or component multiple times.`);
|
|
254
255
|
useWarning(shouldMatchSomePermissions === false, `@commercetools-frontend/permissions: It is recommended not to use 'shouldMatchSomePermissions' but instead use the hook, HoC or component multiple times.`);
|
|
255
256
|
useWarning(!impliedPermissions || impliedPermissions.length === 0, `@commercetools-frontend/permissions: Demanded permissions contain implied permissions. These are implied: ${impliedPermissions.join(', ')}.`);
|
|
257
|
+
|
|
258
|
+
// Check first if we need an "admin" permission check
|
|
259
|
+
const hasDemandedAdministratorPermission = _includesInstanceProperty(demandedPermissions).call(demandedPermissions, 'Administrator');
|
|
260
|
+
useWarning(!hasDemandedAdministratorPermission || demandedPermissions.length === 1, `@commercetools-frontend/permissions: When demanding the "Administrator" permission, no other permissions must be demanded.`);
|
|
261
|
+
const hasDemandedAdministratorOfCurrentProjectPermission = _includesInstanceProperty(demandedPermissions).call(demandedPermissions, 'AdministratorOfCurrentProject');
|
|
262
|
+
useWarning(!hasDemandedAdministratorOfCurrentProjectPermission || demandedPermissions.length === 1, `@commercetools-frontend/permissions: When demanding the "AdministratorOfCurrentProject" permission, no other permissions must be demanded.`);
|
|
263
|
+
const isAdminOfAnyOrganization = useApplicationContext(applicationContext => applicationContext.user?.isAdminOfAnyOrganization ?? false);
|
|
256
264
|
const actualPermissions = useApplicationContext(applicationContext => projectPermissions?.permissions ?? applicationContext.permissions);
|
|
257
265
|
const actualActionRights = useApplicationContext(applicationContext => projectPermissions?.actionRights ?? applicationContext.actionRights);
|
|
258
266
|
const actualDataFences = useApplicationContext(applicationContext => projectPermissions?.dataFences ?? applicationContext.dataFences);
|
|
267
|
+
if (hasDemandedAdministratorPermission) {
|
|
268
|
+
return isAdminOfAnyOrganization;
|
|
269
|
+
}
|
|
270
|
+
if (hasDemandedAdministratorOfCurrentProjectPermission) {
|
|
271
|
+
return isUserAdminOfCurrentProject ?? false;
|
|
272
|
+
}
|
|
259
273
|
|
|
260
274
|
// if the user has no permissions and no dataFences assigned to them, they are not authorized
|
|
261
275
|
if (!actualPermissions && !actualDataFences) return false;
|
|
@@ -300,6 +314,7 @@ const Authorized = _ref => {
|
|
|
300
314
|
demandedDataFences: props.demandedDataFences,
|
|
301
315
|
selectDataFenceData: props.selectDataFenceData,
|
|
302
316
|
shouldMatchSomePermissions: shouldMatchSomePermissions,
|
|
317
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
303
318
|
projectPermissions: props.projectPermissions
|
|
304
319
|
});
|
|
305
320
|
return jsx(Fragment, {
|
|
@@ -344,6 +359,7 @@ const RestrictedByPermissions = props => {
|
|
|
344
359
|
demandedActionRights: props.actionRights,
|
|
345
360
|
demandedDataFences: props.dataFences,
|
|
346
361
|
selectDataFenceData: props.selectDataFenceData,
|
|
362
|
+
isUserAdminOfCurrentProject: props.isUserAdminOfCurrentProject,
|
|
347
363
|
projectPermissions: props.projectPermissions,
|
|
348
364
|
render: isAuthorized => {
|
|
349
365
|
if (typeof props.children === 'function') return props.children({
|
|
@@ -26,6 +26,7 @@ type Props = {
|
|
|
26
26
|
demandedDataFences?: TDemandedDataFence[];
|
|
27
27
|
shouldMatchSomePermissions?: boolean;
|
|
28
28
|
selectDataFenceData?: TSelectDataFenceData;
|
|
29
|
+
isUserAdminOfCurrentProject?: boolean | null;
|
|
29
30
|
projectPermissions?: TProjectPermissions;
|
|
30
31
|
render: (isAuthorized: boolean) => ReactNode;
|
|
31
32
|
children?: never;
|
package/dist/declarations/src/components/restricted-by-permissions/restricted-by-permissions.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ type Props = {
|
|
|
30
30
|
dataFences?: TDemandedDataFence[];
|
|
31
31
|
selectDataFenceData?: TSelectDataFenceData;
|
|
32
32
|
unauthorizedComponent?: ComponentType;
|
|
33
|
+
isUserAdminOfCurrentProject?: boolean | null;
|
|
33
34
|
projectPermissions?: TProjectPermissions;
|
|
34
35
|
render?: TRenderProp;
|
|
35
36
|
children?: TRenderProp | ReactNode;
|
|
@@ -19,12 +19,13 @@ type TProjectPermissions = {
|
|
|
19
19
|
actionRights: TNormalizedActionRights | null;
|
|
20
20
|
dataFences: TNormalizedDataFences | null;
|
|
21
21
|
};
|
|
22
|
-
declare const useIsAuthorized: ({ demandedPermissions, demandedActionRights, demandedDataFences, selectDataFenceData, shouldMatchSomePermissions, projectPermissions, }: {
|
|
22
|
+
declare const useIsAuthorized: ({ demandedPermissions, demandedActionRights, demandedDataFences, selectDataFenceData, shouldMatchSomePermissions, isUserAdminOfCurrentProject, projectPermissions, }: {
|
|
23
23
|
demandedPermissions: TPermissionName[];
|
|
24
24
|
demandedActionRights?: TDemandedActionRight[];
|
|
25
25
|
demandedDataFences?: TDemandedDataFence[];
|
|
26
26
|
selectDataFenceData?: TSelectDataFenceData;
|
|
27
27
|
shouldMatchSomePermissions?: boolean;
|
|
28
|
+
isUserAdminOfCurrentProject?: boolean | null;
|
|
28
29
|
projectPermissions?: TProjectPermissions;
|
|
29
30
|
}) => boolean;
|
|
30
31
|
export default useIsAuthorized;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools-frontend/permissions",
|
|
3
|
-
"version": "27.
|
|
3
|
+
"version": "27.11.1",
|
|
4
4
|
"description": "React components to declaratively handle MC permissions",
|
|
5
5
|
"bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
|
|
6
6
|
"repository": {
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"prop-types": "15.8.1",
|
|
39
39
|
"tiny-invariant": "1.3.3",
|
|
40
40
|
"tiny-warning": "1.0.3",
|
|
41
|
-
"@commercetools-frontend/application-shell-connectors": "^27.
|
|
42
|
-
"@commercetools-frontend/sentry": "^27.
|
|
41
|
+
"@commercetools-frontend/application-shell-connectors": "^27.11.1",
|
|
42
|
+
"@commercetools-frontend/sentry": "^27.11.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/jest": "^29.5.14",
|