@commercetools-frontend/permissions 27.5.3 → 27.6.0
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.
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
3
5
|
var react = require('react');
|
|
4
6
|
var isNil = require('lodash/isNil');
|
|
5
7
|
var invariant = require('tiny-invariant');
|
|
@@ -27,7 +29,7 @@ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entr
|
|
|
27
29
|
var upperFirst = require('lodash/upperFirst');
|
|
28
30
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
29
31
|
|
|
30
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
31
33
|
|
|
32
34
|
var isNil__default = /*#__PURE__*/_interopDefault(isNil);
|
|
33
35
|
var invariant__default = /*#__PURE__*/_interopDefault(invariant);
|
|
@@ -50,7 +52,7 @@ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
|
50
52
|
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
51
53
|
|
|
52
54
|
// NOTE: This string will be replaced on build time with the package version.
|
|
53
|
-
var version = "27.
|
|
55
|
+
var version = "27.6.0";
|
|
54
56
|
|
|
55
57
|
// Permissions
|
|
56
58
|
|
|
@@ -62,7 +64,7 @@ var version = "27.5.3";
|
|
|
62
64
|
|
|
63
65
|
// Build the permission key from the definition to match it to the format coming from the API.
|
|
64
66
|
const toCanCase = permissionName => `can${permissionName}`;
|
|
65
|
-
const getIsViewPermission = demandedPermission => _startsWithInstanceProperty__default
|
|
67
|
+
const getIsViewPermission = demandedPermission => _startsWithInstanceProperty__default["default"](demandedPermission).call(demandedPermission, 'View');
|
|
66
68
|
const toManageCase = permissionName => permissionName.replace('View', 'Manage');
|
|
67
69
|
|
|
68
70
|
// Check that the user permissions match EXACTLY the required permission.
|
|
@@ -90,8 +92,8 @@ const doesManagePermissionInferViewPermission = (demandedPermission, actualPermi
|
|
|
90
92
|
// implied permissions.
|
|
91
93
|
// E.g. ViewCustomerGroup is implied by ManageCustomerGroup.
|
|
92
94
|
const getImpliedPermissions = permissions => {
|
|
93
|
-
const viewPermissions = _filterInstanceProperty__default
|
|
94
|
-
const impliedPermissions = _filterInstanceProperty__default
|
|
95
|
+
const viewPermissions = _filterInstanceProperty__default["default"](permissions).call(permissions, permission => _startsWithInstanceProperty__default["default"](permission).call(permission, 'View'));
|
|
96
|
+
const impliedPermissions = _filterInstanceProperty__default["default"](viewPermissions).call(viewPermissions, viewPermission => _includesInstanceProperty__default["default"](permissions).call(permissions, toManageCase(viewPermission)));
|
|
95
97
|
return impliedPermissions;
|
|
96
98
|
};
|
|
97
99
|
|
|
@@ -127,7 +129,7 @@ const hasActionRight = (demandedActionRight, actualActionRights) => {
|
|
|
127
129
|
// ['ViewProducts', 'ManageOrders']
|
|
128
130
|
// - actualPermissions:
|
|
129
131
|
// { canViewProducts: true, canManageOrders: false }
|
|
130
|
-
const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyInstanceProperty__default
|
|
132
|
+
const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, permission => hasPermission(permission, actualPermissions));
|
|
131
133
|
|
|
132
134
|
// Check that the user action rights match EVERY one of the required action rights.
|
|
133
135
|
// The shapes of the arguments are:
|
|
@@ -138,7 +140,7 @@ const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyIn
|
|
|
138
140
|
// ]
|
|
139
141
|
// - actualActionRights:
|
|
140
142
|
// { products: { canEditPrices: true, canPublishProducts: true } }
|
|
141
|
-
const hasEveryActionRight = (demandedActionRights, actualActionRights) => _everyInstanceProperty__default
|
|
143
|
+
const hasEveryActionRight = (demandedActionRights, actualActionRights) => _everyInstanceProperty__default["default"](demandedActionRights).call(demandedActionRights, actionRight => hasActionRight(actionRight, actualActionRights));
|
|
142
144
|
|
|
143
145
|
// Check that the user permissions match SOME one of the required permissions.
|
|
144
146
|
// The shapes of the arguments are:
|
|
@@ -146,7 +148,7 @@ const hasEveryActionRight = (demandedActionRights, actualActionRights) => _every
|
|
|
146
148
|
// ['ViewProducts', 'ManageOrders']
|
|
147
149
|
// - actualPermissions:
|
|
148
150
|
// { canViewProducts: true, canManageOrders: false }
|
|
149
|
-
const hasSomePermissions = (demandedPermissions, actualPermissions) => _someInstanceProperty__default
|
|
151
|
+
const hasSomePermissions = (demandedPermissions, actualPermissions) => _someInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, permission => hasPermission(permission, actualPermissions));
|
|
150
152
|
const getHasDemandedDataFence = options => {
|
|
151
153
|
if (!options.selectDataFenceData) return false;
|
|
152
154
|
const hasDemandedPermission = hasPermission(options.demandedDataFence.name, {
|
|
@@ -157,7 +159,7 @@ const getHasDemandedDataFence = options => {
|
|
|
157
159
|
type: options.demandedDataFence.type,
|
|
158
160
|
group: options.demandedDataFence.group,
|
|
159
161
|
name: options.demandedDataFence.name,
|
|
160
|
-
actualDataFenceValues: _valuesInstanceProperty__default
|
|
162
|
+
actualDataFenceValues: _valuesInstanceProperty__default["default"](options.actualDataFence.dataFenceValue)
|
|
161
163
|
});
|
|
162
164
|
if (!selectedDataFenceData) {
|
|
163
165
|
sentry.reportErrorToSentry(new Error(`missing mapper for type "${options.demandedDataFence.type}"`), {
|
|
@@ -167,9 +169,9 @@ const getHasDemandedDataFence = options => {
|
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
// it is enough to only have a subset of demanded dataFence data belonging to actual dataFence values
|
|
170
|
-
return _someInstanceProperty__default
|
|
172
|
+
return _someInstanceProperty__default["default"](selectedDataFenceData).call(selectedDataFenceData, value => {
|
|
171
173
|
var _context;
|
|
172
|
-
return _includesInstanceProperty__default
|
|
174
|
+
return _includesInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](options.actualDataFence.dataFenceValue)).call(_context, value);
|
|
173
175
|
});
|
|
174
176
|
};
|
|
175
177
|
const getDataFenceByTypeAndGroup = (actualDataFences, demandedDataFenceType, demandedDataFenceGroup) => {
|
|
@@ -201,7 +203,7 @@ const getIsPermissionOverwritingDataFence = (actualPermissions, demandedDataFenc
|
|
|
201
203
|
* Given the user _does not_ have manage access on the data fence's group
|
|
202
204
|
* Then the data fence itself takes precedence
|
|
203
205
|
*/
|
|
204
|
-
const demandedPermissionByDataFence = `Manage${upperFirst__default
|
|
206
|
+
const demandedPermissionByDataFence = `Manage${upperFirst__default["default"](demandedDataFence.group)}`;
|
|
205
207
|
if (hasExactPermission(demandedPermissionByDataFence, actualPermissions)) return true;
|
|
206
208
|
return false;
|
|
207
209
|
};
|
|
@@ -209,7 +211,7 @@ const hasSomeDataFence = options => {
|
|
|
209
211
|
var _context2;
|
|
210
212
|
// Datafences applied should be combined with an OR, that is why we use
|
|
211
213
|
// `some` and not `every`
|
|
212
|
-
return _someInstanceProperty__default
|
|
214
|
+
return _someInstanceProperty__default["default"](_context2 = options.demandedDataFences).call(_context2, demandedDataFence => {
|
|
213
215
|
var _context3;
|
|
214
216
|
// Given that dataFence structure on `applicationContext`, we get the value by a path
|
|
215
217
|
// e.g given dataFence with { store: { orders: { canManageOrders: { values: } } } }
|
|
@@ -221,7 +223,7 @@ const hasSomeDataFence = options => {
|
|
|
221
223
|
if (!actualDataFenceByTypeAndGroup) return false;
|
|
222
224
|
|
|
223
225
|
// we try to find if the demanded dataFence is available inside the actual datafences
|
|
224
|
-
const specificActualDataFence = _findInstanceProperty__default
|
|
226
|
+
const specificActualDataFence = _findInstanceProperty__default["default"](_context3 = _Object$entries__default["default"](actualDataFenceByTypeAndGroup)).call(_context3, _ref => {
|
|
225
227
|
let _ref2 = _slicedToArray(_ref, 2),
|
|
226
228
|
dataFenceName = _ref2[0],
|
|
227
229
|
dataFenceValue = _ref2[1];
|
|
@@ -260,7 +262,7 @@ const hasSomeDataFence = options => {
|
|
|
260
262
|
// Log a warning only once, and not on each render.
|
|
261
263
|
const useWarning = (condition, message) => {
|
|
262
264
|
react.useEffect(() => {
|
|
263
|
-
process.env.NODE_ENV !== "production" ? warning__default
|
|
265
|
+
process.env.NODE_ENV !== "production" ? warning__default["default"](condition, message) : void 0;
|
|
264
266
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
265
267
|
}, []);
|
|
266
268
|
};
|
|
@@ -312,8 +314,8 @@ const getDisplayName = Component => {
|
|
|
312
314
|
};
|
|
313
315
|
|
|
314
316
|
const _excluded = ["shouldMatchSomePermissions"];
|
|
315
|
-
function ownKeys$1(e, r) { var t = _Object$keys__default
|
|
316
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default
|
|
317
|
+
function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
318
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
317
319
|
const Authorized = _ref => {
|
|
318
320
|
let _ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
319
321
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
@@ -361,7 +363,7 @@ const getHasChildren = children => react.Children.count(children) > 0;
|
|
|
361
363
|
// Data fences
|
|
362
364
|
|
|
363
365
|
const RestrictedByPermissions = props => {
|
|
364
|
-
!!(typeof props.children === 'function' && !isNil__default
|
|
366
|
+
!!(typeof props.children === 'function' && !isNil__default["default"](props.unauthorizedComponent)) ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '@commercetools-frontend/permissions/RestrictedByPermissions: You provided both `children` and `unauthorizedComponent`. Please provide only one of them.') : invariant__default["default"](false) : void 0;
|
|
365
367
|
return jsxRuntime.jsx(Authorized, {
|
|
366
368
|
shouldMatchSomePermissions: props.shouldMatchSomePermissions,
|
|
367
369
|
demandedPermissions: props.permissions,
|
|
@@ -389,8 +391,8 @@ const RestrictedByPermissions = props => {
|
|
|
389
391
|
};
|
|
390
392
|
RestrictedByPermissions.displayName = 'RestrictedByPermissions';
|
|
391
393
|
|
|
392
|
-
function ownKeys(e, r) { var t = _Object$keys__default
|
|
393
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default
|
|
394
|
+
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
395
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
394
396
|
const branchOnPermissions = function (demandedPermissions, FallbackComponent) {
|
|
395
397
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
396
398
|
shouldMatchSomePermissions: false
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
3
5
|
var react = require('react');
|
|
4
6
|
var isNil = require('lodash/isNil');
|
|
5
7
|
var invariant = require('tiny-invariant');
|
|
@@ -27,7 +29,7 @@ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entr
|
|
|
27
29
|
var upperFirst = require('lodash/upperFirst');
|
|
28
30
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
29
31
|
|
|
30
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
31
33
|
|
|
32
34
|
var isNil__default = /*#__PURE__*/_interopDefault(isNil);
|
|
33
35
|
var invariant__default = /*#__PURE__*/_interopDefault(invariant);
|
|
@@ -49,7 +51,7 @@ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
|
49
51
|
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
50
52
|
|
|
51
53
|
// NOTE: This string will be replaced on build time with the package version.
|
|
52
|
-
var version = "27.
|
|
54
|
+
var version = "27.6.0";
|
|
53
55
|
|
|
54
56
|
// Permissions
|
|
55
57
|
|
|
@@ -61,7 +63,7 @@ var version = "27.5.3";
|
|
|
61
63
|
|
|
62
64
|
// Build the permission key from the definition to match it to the format coming from the API.
|
|
63
65
|
const toCanCase = permissionName => `can${permissionName}`;
|
|
64
|
-
const getIsViewPermission = demandedPermission => _startsWithInstanceProperty__default
|
|
66
|
+
const getIsViewPermission = demandedPermission => _startsWithInstanceProperty__default["default"](demandedPermission).call(demandedPermission, 'View');
|
|
65
67
|
const toManageCase = permissionName => permissionName.replace('View', 'Manage');
|
|
66
68
|
|
|
67
69
|
// Check that the user permissions match EXACTLY the required permission.
|
|
@@ -89,8 +91,8 @@ const doesManagePermissionInferViewPermission = (demandedPermission, actualPermi
|
|
|
89
91
|
// implied permissions.
|
|
90
92
|
// E.g. ViewCustomerGroup is implied by ManageCustomerGroup.
|
|
91
93
|
const getImpliedPermissions = permissions => {
|
|
92
|
-
const viewPermissions = _filterInstanceProperty__default
|
|
93
|
-
const impliedPermissions = _filterInstanceProperty__default
|
|
94
|
+
const viewPermissions = _filterInstanceProperty__default["default"](permissions).call(permissions, permission => _startsWithInstanceProperty__default["default"](permission).call(permission, 'View'));
|
|
95
|
+
const impliedPermissions = _filterInstanceProperty__default["default"](viewPermissions).call(viewPermissions, viewPermission => _includesInstanceProperty__default["default"](permissions).call(permissions, toManageCase(viewPermission)));
|
|
94
96
|
return impliedPermissions;
|
|
95
97
|
};
|
|
96
98
|
|
|
@@ -126,7 +128,7 @@ const hasActionRight = (demandedActionRight, actualActionRights) => {
|
|
|
126
128
|
// ['ViewProducts', 'ManageOrders']
|
|
127
129
|
// - actualPermissions:
|
|
128
130
|
// { canViewProducts: true, canManageOrders: false }
|
|
129
|
-
const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyInstanceProperty__default
|
|
131
|
+
const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, permission => hasPermission(permission, actualPermissions));
|
|
130
132
|
|
|
131
133
|
// Check that the user action rights match EVERY one of the required action rights.
|
|
132
134
|
// The shapes of the arguments are:
|
|
@@ -137,7 +139,7 @@ const hasEveryPermissions = (demandedPermissions, actualPermissions) => _everyIn
|
|
|
137
139
|
// ]
|
|
138
140
|
// - actualActionRights:
|
|
139
141
|
// { products: { canEditPrices: true, canPublishProducts: true } }
|
|
140
|
-
const hasEveryActionRight = (demandedActionRights, actualActionRights) => _everyInstanceProperty__default
|
|
142
|
+
const hasEveryActionRight = (demandedActionRights, actualActionRights) => _everyInstanceProperty__default["default"](demandedActionRights).call(demandedActionRights, actionRight => hasActionRight(actionRight, actualActionRights));
|
|
141
143
|
|
|
142
144
|
// Check that the user permissions match SOME one of the required permissions.
|
|
143
145
|
// The shapes of the arguments are:
|
|
@@ -145,7 +147,7 @@ const hasEveryActionRight = (demandedActionRights, actualActionRights) => _every
|
|
|
145
147
|
// ['ViewProducts', 'ManageOrders']
|
|
146
148
|
// - actualPermissions:
|
|
147
149
|
// { canViewProducts: true, canManageOrders: false }
|
|
148
|
-
const hasSomePermissions = (demandedPermissions, actualPermissions) => _someInstanceProperty__default
|
|
150
|
+
const hasSomePermissions = (demandedPermissions, actualPermissions) => _someInstanceProperty__default["default"](demandedPermissions).call(demandedPermissions, permission => hasPermission(permission, actualPermissions));
|
|
149
151
|
const getHasDemandedDataFence = options => {
|
|
150
152
|
if (!options.selectDataFenceData) return false;
|
|
151
153
|
const hasDemandedPermission = hasPermission(options.demandedDataFence.name, {
|
|
@@ -156,7 +158,7 @@ const getHasDemandedDataFence = options => {
|
|
|
156
158
|
type: options.demandedDataFence.type,
|
|
157
159
|
group: options.demandedDataFence.group,
|
|
158
160
|
name: options.demandedDataFence.name,
|
|
159
|
-
actualDataFenceValues: _valuesInstanceProperty__default
|
|
161
|
+
actualDataFenceValues: _valuesInstanceProperty__default["default"](options.actualDataFence.dataFenceValue)
|
|
160
162
|
});
|
|
161
163
|
if (!selectedDataFenceData) {
|
|
162
164
|
sentry.reportErrorToSentry(new Error(`missing mapper for type "${options.demandedDataFence.type}"`), {
|
|
@@ -166,9 +168,9 @@ const getHasDemandedDataFence = options => {
|
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
// it is enough to only have a subset of demanded dataFence data belonging to actual dataFence values
|
|
169
|
-
return _someInstanceProperty__default
|
|
171
|
+
return _someInstanceProperty__default["default"](selectedDataFenceData).call(selectedDataFenceData, value => {
|
|
170
172
|
var _context;
|
|
171
|
-
return _includesInstanceProperty__default
|
|
173
|
+
return _includesInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](options.actualDataFence.dataFenceValue)).call(_context, value);
|
|
172
174
|
});
|
|
173
175
|
};
|
|
174
176
|
const getDataFenceByTypeAndGroup = (actualDataFences, demandedDataFenceType, demandedDataFenceGroup) => {
|
|
@@ -200,7 +202,7 @@ const getIsPermissionOverwritingDataFence = (actualPermissions, demandedDataFenc
|
|
|
200
202
|
* Given the user _does not_ have manage access on the data fence's group
|
|
201
203
|
* Then the data fence itself takes precedence
|
|
202
204
|
*/
|
|
203
|
-
const demandedPermissionByDataFence = `Manage${upperFirst__default
|
|
205
|
+
const demandedPermissionByDataFence = `Manage${upperFirst__default["default"](demandedDataFence.group)}`;
|
|
204
206
|
if (hasExactPermission(demandedPermissionByDataFence, actualPermissions)) return true;
|
|
205
207
|
return false;
|
|
206
208
|
};
|
|
@@ -208,7 +210,7 @@ const hasSomeDataFence = options => {
|
|
|
208
210
|
var _context2;
|
|
209
211
|
// Datafences applied should be combined with an OR, that is why we use
|
|
210
212
|
// `some` and not `every`
|
|
211
|
-
return _someInstanceProperty__default
|
|
213
|
+
return _someInstanceProperty__default["default"](_context2 = options.demandedDataFences).call(_context2, demandedDataFence => {
|
|
212
214
|
var _context3;
|
|
213
215
|
// Given that dataFence structure on `applicationContext`, we get the value by a path
|
|
214
216
|
// e.g given dataFence with { store: { orders: { canManageOrders: { values: } } } }
|
|
@@ -220,7 +222,7 @@ const hasSomeDataFence = options => {
|
|
|
220
222
|
if (!actualDataFenceByTypeAndGroup) return false;
|
|
221
223
|
|
|
222
224
|
// we try to find if the demanded dataFence is available inside the actual datafences
|
|
223
|
-
const specificActualDataFence = _findInstanceProperty__default
|
|
225
|
+
const specificActualDataFence = _findInstanceProperty__default["default"](_context3 = _Object$entries__default["default"](actualDataFenceByTypeAndGroup)).call(_context3, _ref => {
|
|
224
226
|
let _ref2 = _slicedToArray(_ref, 2),
|
|
225
227
|
dataFenceName = _ref2[0],
|
|
226
228
|
dataFenceValue = _ref2[1];
|
|
@@ -310,8 +312,8 @@ const getDisplayName = Component => {
|
|
|
310
312
|
};
|
|
311
313
|
|
|
312
314
|
const _excluded = ["shouldMatchSomePermissions"];
|
|
313
|
-
function ownKeys$1(e, r) { var t = _Object$keys__default
|
|
314
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default
|
|
315
|
+
function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
316
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
315
317
|
const Authorized = _ref => {
|
|
316
318
|
let _ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
317
319
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
@@ -359,7 +361,7 @@ const getHasChildren = children => react.Children.count(children) > 0;
|
|
|
359
361
|
// Data fences
|
|
360
362
|
|
|
361
363
|
const RestrictedByPermissions = props => {
|
|
362
|
-
!!(typeof props.children === 'function' && !isNil__default
|
|
364
|
+
!!(typeof props.children === 'function' && !isNil__default["default"](props.unauthorizedComponent)) ? invariant__default["default"](false) : void 0;
|
|
363
365
|
return jsxRuntime.jsx(Authorized, {
|
|
364
366
|
shouldMatchSomePermissions: props.shouldMatchSomePermissions,
|
|
365
367
|
demandedPermissions: props.permissions,
|
|
@@ -387,8 +389,8 @@ const RestrictedByPermissions = props => {
|
|
|
387
389
|
};
|
|
388
390
|
RestrictedByPermissions.displayName = 'RestrictedByPermissions';
|
|
389
391
|
|
|
390
|
-
function ownKeys(e, r) { var t = _Object$keys__default
|
|
391
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default
|
|
392
|
+
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
393
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
392
394
|
const branchOnPermissions = function (demandedPermissions, FallbackComponent) {
|
|
393
395
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
394
396
|
shouldMatchSomePermissions: false
|
|
@@ -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.6.0";
|
|
30
30
|
|
|
31
31
|
// Permissions
|
|
32
32
|
|
|
@@ -289,7 +289,7 @@ const getDisplayName = Component => {
|
|
|
289
289
|
|
|
290
290
|
const _excluded = ["shouldMatchSomePermissions"];
|
|
291
291
|
function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
292
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t),
|
|
292
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
293
293
|
const Authorized = _ref => {
|
|
294
294
|
let _ref$shouldMatchSomeP = _ref.shouldMatchSomePermissions,
|
|
295
295
|
shouldMatchSomePermissions = _ref$shouldMatchSomeP === void 0 ? false : _ref$shouldMatchSomeP,
|
|
@@ -366,7 +366,7 @@ const RestrictedByPermissions = props => {
|
|
|
366
366
|
RestrictedByPermissions.displayName = 'RestrictedByPermissions';
|
|
367
367
|
|
|
368
368
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
369
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t),
|
|
369
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
370
370
|
const branchOnPermissions = function (demandedPermissions, FallbackComponent) {
|
|
371
371
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
372
372
|
shouldMatchSomePermissions: false
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools-frontend/permissions",
|
|
3
|
-
"version": "27.
|
|
3
|
+
"version": "27.6.0",
|
|
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": {
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@babel/runtime": "^7.22.15",
|
|
32
32
|
"@babel/runtime-corejs3": "^7.22.15",
|
|
33
|
-
"@commercetools-frontend/application-shell-connectors": "27.
|
|
34
|
-
"@commercetools-frontend/sentry": "27.
|
|
33
|
+
"@commercetools-frontend/application-shell-connectors": "27.6.0",
|
|
34
|
+
"@commercetools-frontend/sentry": "27.6.0",
|
|
35
35
|
"@emotion/react": "^11.14.0",
|
|
36
36
|
"@types/lodash": "^4.14.198",
|
|
37
37
|
"@types/prop-types": "^15.7.5",
|