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