@redhat-cloud-services/frontend-components-utilities 3.2.11 → 3.2.14
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/MiddlewareListener/MiddlewareListener.js +1 -10
- package/MiddlewareListener/MiddlewareListener.js.map +1 -1
- package/RBAC/RBAC.d.ts +1 -0
- package/RBAC/RBAC.js +22 -1
- package/RBAC/RBAC.js.map +1 -1
- package/RBACHook/RBACHook.d.ts +1 -1
- package/RBACHook/RBACHook.js +2 -2
- package/RBACHook/RBACHook.js.map +1 -1
- package/esm/MiddlewareListener/MiddlewareListener.js +1 -10
- package/esm/MiddlewareListener/MiddlewareListener.js.map +1 -1
- package/esm/RBAC/RBAC.js +20 -0
- package/esm/RBAC/RBAC.js.map +1 -1
- package/esm/RBACHook/RBACHook.js +3 -3
- package/esm/RBACHook/RBACHook.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.MiddlewareListener = void 0;
|
|
13
4
|
var MiddlewareListener = (function () {
|
|
@@ -37,7 +28,7 @@ var MiddlewareListener = (function () {
|
|
|
37
28
|
MiddlewareListener.prototype.callOnAction = function (action, data) {
|
|
38
29
|
var stopBubble = false;
|
|
39
30
|
var preventBubble = function () { return (stopBubble = true); };
|
|
40
|
-
var listeners =
|
|
31
|
+
var listeners = Array.from(this.listeners);
|
|
41
32
|
for (var i = 0; i < listeners.length; i++) {
|
|
42
33
|
listeners[i].on === action && listeners[i].hasOwnProperty('callback') && listeners[i].callback({ data: data, preventBubble: preventBubble });
|
|
43
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareListener.js","sourceRoot":"","sources":["../src/MiddlewareListener/MiddlewareListener.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MiddlewareListener.js","sourceRoot":"","sources":["../src/MiddlewareListener/MiddlewareListener.js"],"names":[],"mappings":";;;AAAA;IACE;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,yCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,0CAAa,GAAb;QAAA,iBASC;QARC,OAAO,cAAM,OAAA,UAAC,IAAI,IAAK,OAAA,UAAC,MAAM;YAC5B,IAAM,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,CAAC;aACd;QACH,CAAC,EAPsB,CAOtB,EAPY,CAOZ,CAAC;IACJ,CAAC;IAED,mCAAM,GAAN,UAAO,QAAQ;QAAf,iBAGC;QAFC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,cAAM,OAAA,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAA/B,CAA+B,CAAC;IAC/C,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM,EAAE,IAAI;QACvB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAM,aAAa,GAAG,cAAM,OAAA,CAAC,UAAU,GAAG,IAAI,CAAC,EAAnB,CAAmB,CAAC;QAChD,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;SACzH;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IACH,yBAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,gDAAkB;AAqC/B,kBAAe,kBAAkB,CAAC"}
|
package/RBAC/RBAC.d.ts
CHANGED
|
@@ -13,4 +13,5 @@ export interface RBAC {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function getRBAC(applicationName?: string, disableCache?: boolean): Promise<RBAC>;
|
|
15
15
|
export declare function doesHavePermissions(userPermissions: (Access | string)[], permissionList: string[]): boolean;
|
|
16
|
+
export declare function hasAllPermissions(userPermissions: (Access | string)[], permissionList: string[]): boolean;
|
|
16
17
|
export default getRBAC;
|
package/RBAC/RBAC.js
CHANGED
|
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.doesHavePermissions = exports.getRBAC = void 0;
|
|
39
|
+
exports.hasAllPermissions = exports.doesHavePermissions = exports.getRBAC = void 0;
|
|
40
40
|
function getRBAC(applicationName, disableCache) {
|
|
41
41
|
var _a, _b, _c, _d, _e;
|
|
42
42
|
if (applicationName === void 0) { applicationName = ''; }
|
|
@@ -74,5 +74,26 @@ function doesHavePermissions(userPermissions, permissionList) {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
exports.doesHavePermissions = doesHavePermissions;
|
|
77
|
+
function hasAllPermissions(userPermissions, permissionList) {
|
|
78
|
+
if (!userPermissions) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return permissionList.every(function (permission) {
|
|
82
|
+
return userPermissions.some(function (access) {
|
|
83
|
+
var _a;
|
|
84
|
+
var accessArray = ((_a = (isAccessType(access) ? access === null || access === void 0 ? void 0 : access.permission : access)) === null || _a === void 0 ? void 0 : _a.split(':')) || [];
|
|
85
|
+
var permissionArray = permission.split(':');
|
|
86
|
+
var hasAccess = accessArray.slice(0).reduce(function (acc, curr, index, array) {
|
|
87
|
+
if (acc === false) {
|
|
88
|
+
array.splice(index);
|
|
89
|
+
return acc;
|
|
90
|
+
}
|
|
91
|
+
return curr === '*' || curr === (permissionArray === null || permissionArray === void 0 ? void 0 : permissionArray[index]);
|
|
92
|
+
}, true);
|
|
93
|
+
return hasAccess || accessArray.join(':') === permission;
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
exports.hasAllPermissions = hasAllPermissions;
|
|
77
98
|
exports.default = getRBAC;
|
|
78
99
|
//# sourceMappingURL=RBAC.js.map
|
package/RBAC/RBAC.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RBAC.js","sourceRoot":"","sources":["../src/RBAC/RBAC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,SAAsB,OAAO,CAAC,eAAoB,EAAE,YAAoB;;IAA1C,gCAAA,EAAA,oBAAoB;IAAE,6BAAA,EAAA,oBAAoB;;;;;;;oBAChE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACpB,WAAM,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,0CAAE,OAAO,EAAE,CAAA,EAAA;;oBAA9C,IAAI,GAAG,SAAuC;;wBAGlD,UAAU,EAAE,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,IAAI,0CAAE,YAAY,KAAI,KAAK;;oBACzC,WAAM,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,kBAAkB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA,EAAA;wBAHzF,YAGE,cAAW,GAAE,CAAC,SAAyE,CAAC,IAAI,IAAI;6BAChG;;;;CACH;AARD,0BAQC;AAED,SAAS,YAAY,CAAC,UAA2B;IAC/C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,SAAgB,mBAAmB,CAAC,eAAoC,EAAE,cAAwB;IAChG,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;QACjC,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AARD,kDAQC;AAED,kBAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"RBAC.js","sourceRoot":"","sources":["../src/RBAC/RBAC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,SAAsB,OAAO,CAAC,eAAoB,EAAE,YAAoB;;IAA1C,gCAAA,EAAA,oBAAoB;IAAE,6BAAA,EAAA,oBAAoB;;;;;;;oBAChE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACpB,WAAM,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,0CAAE,OAAO,EAAE,CAAA,EAAA;;oBAA9C,IAAI,GAAG,SAAuC;;wBAGlD,UAAU,EAAE,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,IAAI,0CAAE,YAAY,KAAI,KAAK;;oBACzC,WAAM,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,kBAAkB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA,EAAA;wBAHzF,YAGE,cAAW,GAAE,CAAC,SAAyE,CAAC,IAAI,IAAI;6BAChG;;;;CACH;AARD,0BAQC;AAED,SAAS,YAAY,CAAC,UAA2B;IAC/C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,SAAgB,mBAAmB,CAAC,eAAoC,EAAE,cAAwB;IAChG,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;QACjC,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AARD,kDAQC;AAED,SAAgB,iBAAiB,CAAC,eAAoC,EAAE,cAAwB;IAC9F,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,cAAc,CAAC,KAAK,CAAC,UAAC,UAAU;QACrC,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;;YACjC,IAAM,WAAW,GAAG,CAAA,MAAA,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;YAC3F,IAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;gBACpE,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,GAAG,CAAC;iBACZ;gBAED,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAA,CAAC;YAC3D,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,8CAoBC;AAED,kBAAe,OAAO,CAAC"}
|
package/RBACHook/RBACHook.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export interface UsePermissionsState extends RBAC {
|
|
|
3
3
|
hasAccess: boolean;
|
|
4
4
|
isLoading: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function usePermissions(appName: string, permissionsList: string[], disableCache?: boolean): UsePermissionsState;
|
|
6
|
+
export declare function usePermissions(appName: string, permissionsList: string[], disableCache?: boolean, checkAll?: boolean): UsePermissionsState;
|
|
7
7
|
export default usePermissions;
|
package/RBACHook/RBACHook.js
CHANGED
|
@@ -50,7 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
50
|
exports.usePermissions = void 0;
|
|
51
51
|
var react_1 = require("react");
|
|
52
52
|
var RBAC_1 = require("../RBAC");
|
|
53
|
-
function usePermissions(appName, permissionsList, disableCache) {
|
|
53
|
+
function usePermissions(appName, permissionsList, disableCache, checkAll) {
|
|
54
54
|
var _this = this;
|
|
55
55
|
var _a = (0, react_1.useState)({
|
|
56
56
|
isLoading: true,
|
|
@@ -71,7 +71,7 @@ function usePermissions(appName, permissionsList, disableCache) {
|
|
|
71
71
|
isLoading: false,
|
|
72
72
|
isOrgAdmin: isOrgAdmin,
|
|
73
73
|
permissions: userPermissions,
|
|
74
|
-
hasAccess: (0, RBAC_1.doesHavePermissions)(userPermissions, permissionsList),
|
|
74
|
+
hasAccess: checkAll ? (0, RBAC_1.hasAllPermissions)(userPermissions, permissionsList) : (0, RBAC_1.doesHavePermissions)(userPermissions, permissionsList),
|
|
75
75
|
});
|
|
76
76
|
return [2];
|
|
77
77
|
}
|
package/RBACHook/RBACHook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RBACHook.js","sourceRoot":"","sources":["../src/RBACHook/RBACHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"RBACHook.js","sourceRoot":"","sources":["../src/RBACHook/RBACHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,gCAAgF;AAOhF,SAAgB,cAAc,CAAC,OAAe,EAAE,eAAyB,EAAE,YAAsB,EAAE,QAAkB;IAArH,iBAoBC;IAnBO,IAAA,KAAgC,IAAA,gBAAQ,EAAsB;QAClE,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;KAChB,CAAC,EALK,WAAW,QAAA,EAAE,cAAc,QAKhC,CAAC;IACH,IAAA,iBAAS,EAAC;QACR,cAAc,CAAC,UAAC,IAAI,IAAK,OAAA,uBAAM,IAAI,KAAE,SAAS,EAAE,IAAI,IAAG,EAA9B,CAA8B,CAAC,CAAC;QACzD,CAAC;;;;4BACsD,WAAM,IAAA,cAAO,EAAC,OAAO,EAAE,YAAY,CAAC,EAAA;;wBAAnF,KAA+C,SAAoC,EAAjF,UAAU,gBAAA,EAAe,eAAe,iBAAA;wBAChD,cAAc,CAAC;4BACb,SAAS,EAAE,KAAK;4BAChB,UAAU,YAAA;4BACV,WAAW,EAAE,eAAe;4BAC5B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAmB,EAAC,eAAe,EAAE,eAAe,CAAC;yBAClI,CAAC,CAAC;;;;aACJ,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AApBD,wCAoBC;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
-
if (ar || !(i in from)) {
|
|
4
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
-
ar[i] = from[i];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
-
};
|
|
10
1
|
var MiddlewareListener = (function () {
|
|
11
2
|
function MiddlewareListener() {
|
|
12
3
|
this.listeners = new Set();
|
|
@@ -34,7 +25,7 @@ var MiddlewareListener = (function () {
|
|
|
34
25
|
MiddlewareListener.prototype.callOnAction = function (action, data) {
|
|
35
26
|
var stopBubble = false;
|
|
36
27
|
var preventBubble = function () { return (stopBubble = true); };
|
|
37
|
-
var listeners =
|
|
28
|
+
var listeners = Array.from(this.listeners);
|
|
38
29
|
for (var i = 0; i < listeners.length; i++) {
|
|
39
30
|
listeners[i].on === action && listeners[i].hasOwnProperty('callback') && listeners[i].callback({ data: data, preventBubble: preventBubble });
|
|
40
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareListener.js","sourceRoot":"","sources":["../../src/MiddlewareListener/MiddlewareListener.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MiddlewareListener.js","sourceRoot":"","sources":["../../src/MiddlewareListener/MiddlewareListener.js"],"names":[],"mappings":"AAAA;IACE;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,yCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,0CAAa,GAAb;QAAA,iBASC;QARC,OAAO,cAAM,OAAA,UAAC,IAAI,IAAK,OAAA,UAAC,MAAM;YAC5B,IAAM,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE;gBACjB,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,CAAC;aACd;QACH,CAAC,EAPsB,CAOtB,EAPY,CAOZ,CAAC;IACJ,CAAC;IAED,mCAAM,GAAN,UAAO,QAAQ;QAAf,iBAGC;QAFC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,cAAM,OAAA,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAA/B,CAA+B,CAAC;IAC/C,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM,EAAE,IAAI;QACvB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAM,aAAa,GAAG,cAAM,OAAA,CAAC,UAAU,GAAG,IAAI,CAAC,EAAnB,CAAmB,CAAC;QAChD,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;SACzH;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IACH,yBAAC;AAAD,CAAC,AAnCD,IAmCC;;AAED,eAAe,kBAAkB,CAAC"}
|
package/esm/RBAC/RBAC.js
CHANGED
|
@@ -69,5 +69,25 @@ export function doesHavePermissions(userPermissions, permissionList) {
|
|
|
69
69
|
return permissionList.includes(isAccessType(access) ? access === null || access === void 0 ? void 0 : access.permission : access);
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
export function hasAllPermissions(userPermissions, permissionList) {
|
|
73
|
+
if (!userPermissions) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return permissionList.every(function (permission) {
|
|
77
|
+
return userPermissions.some(function (access) {
|
|
78
|
+
var _a;
|
|
79
|
+
var accessArray = ((_a = (isAccessType(access) ? access === null || access === void 0 ? void 0 : access.permission : access)) === null || _a === void 0 ? void 0 : _a.split(':')) || [];
|
|
80
|
+
var permissionArray = permission.split(':');
|
|
81
|
+
var hasAccess = accessArray.slice(0).reduce(function (acc, curr, index, array) {
|
|
82
|
+
if (acc === false) {
|
|
83
|
+
array.splice(index);
|
|
84
|
+
return acc;
|
|
85
|
+
}
|
|
86
|
+
return curr === '*' || curr === (permissionArray === null || permissionArray === void 0 ? void 0 : permissionArray[index]);
|
|
87
|
+
}, true);
|
|
88
|
+
return hasAccess || accessArray.join(':') === permission;
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
72
92
|
export default getRBAC;
|
|
73
93
|
//# sourceMappingURL=RBAC.js.map
|
package/esm/RBAC/RBAC.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RBAC.js","sourceRoot":"","sources":["../../src/RBAC/RBAC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,UAAgB,OAAO,CAAC,eAAoB,EAAE,YAAoB;;IAA1C,gCAAA,EAAA,oBAAoB;IAAE,6BAAA,EAAA,oBAAoB;;;;;;;oBAChE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACpB,WAAM,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,0CAAE,OAAO,EAAE,CAAA,EAAA;;oBAA9C,IAAI,GAAG,SAAuC;;wBAGlD,UAAU,EAAE,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,IAAI,0CAAE,YAAY,KAAI,KAAK;;oBACzC,WAAM,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,kBAAkB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA,EAAA;wBAHzF,YAGE,cAAW,GAAE,CAAC,SAAyE,CAAC,IAAI,IAAI;6BAChG;;;;CACH;AAED,SAAS,YAAY,CAAC,UAA2B;IAC/C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,eAAoC,EAAE,cAAwB;IAChG,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;QACjC,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"RBAC.js","sourceRoot":"","sources":["../../src/RBAC/RBAC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,UAAgB,OAAO,CAAC,eAAoB,EAAE,YAAoB;;IAA1C,gCAAA,EAAA,oBAAoB;IAAE,6BAAA,EAAA,oBAAoB;;;;;;;oBAChE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACpB,WAAM,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,0CAAE,OAAO,EAAE,CAAA,EAAA;;oBAA9C,IAAI,GAAG,SAAuC;;wBAGlD,UAAU,EAAE,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,IAAI,0CAAE,YAAY,KAAI,KAAK;;oBACzC,WAAM,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,kBAAkB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA,EAAA;wBAHzF,YAGE,cAAW,GAAE,CAAC,SAAyE,CAAC,IAAI,IAAI;6BAChG;;;;CACH;AAED,SAAS,YAAY,CAAC,UAA2B;IAC/C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,eAAoC,EAAE,cAAwB;IAChG,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;QACjC,OAAO,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,eAAoC,EAAE,cAAwB;IAC9F,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,cAAc,CAAC,KAAK,CAAC,UAAC,UAAU;QACrC,OAAO,eAAe,CAAC,IAAI,CAAC,UAAC,MAAM;;YACjC,IAAM,WAAW,GAAG,CAAA,MAAA,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC;YAC3F,IAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;gBACpE,IAAI,GAAG,KAAK,KAAK,EAAE;oBACjB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,GAAG,CAAC;iBACZ;gBAED,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAA,CAAC;YAC3D,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,OAAO,CAAC"}
|
package/esm/RBACHook/RBACHook.js
CHANGED
|
@@ -46,8 +46,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
import { useState, useEffect } from 'react';
|
|
49
|
-
import { getRBAC, doesHavePermissions } from '../RBAC';
|
|
50
|
-
export function usePermissions(appName, permissionsList, disableCache) {
|
|
49
|
+
import { getRBAC, doesHavePermissions, hasAllPermissions } from '../RBAC';
|
|
50
|
+
export function usePermissions(appName, permissionsList, disableCache, checkAll) {
|
|
51
51
|
var _this = this;
|
|
52
52
|
var _a = useState({
|
|
53
53
|
isLoading: true,
|
|
@@ -68,7 +68,7 @@ export function usePermissions(appName, permissionsList, disableCache) {
|
|
|
68
68
|
isLoading: false,
|
|
69
69
|
isOrgAdmin: isOrgAdmin,
|
|
70
70
|
permissions: userPermissions,
|
|
71
|
-
hasAccess: doesHavePermissions(userPermissions, permissionsList),
|
|
71
|
+
hasAccess: checkAll ? hasAllPermissions(userPermissions, permissionsList) : doesHavePermissions(userPermissions, permissionsList),
|
|
72
72
|
});
|
|
73
73
|
return [2];
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RBACHook.js","sourceRoot":"","sources":["../../src/RBACHook/RBACHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAQ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"RBACHook.js","sourceRoot":"","sources":["../../src/RBACHook/RBACHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAQ,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOhF,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,eAAyB,EAAE,YAAsB,EAAE,QAAkB;IAArH,iBAoBC;IAnBO,IAAA,KAAgC,QAAQ,CAAsB;QAClE,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,EAAE;KAChB,CAAC,EALK,WAAW,QAAA,EAAE,cAAc,QAKhC,CAAC;IACH,SAAS,CAAC;QACR,cAAc,CAAC,UAAC,IAAI,IAAK,OAAA,uBAAM,IAAI,KAAE,SAAS,EAAE,IAAI,IAAG,EAA9B,CAA8B,CAAC,CAAC;QACzD,CAAC;;;;4BACsD,WAAM,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAA;;wBAAnF,KAA+C,SAAoC,EAAjF,UAAU,gBAAA,EAAe,eAAe,iBAAA;wBAChD,cAAc,CAAC;4BACb,SAAS,EAAE,KAAK;4BAChB,UAAU,YAAA;4BACV,WAAW,EAAE,eAAe;4BAC5B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC;yBAClI,CAAC,CAAC;;;;aACJ,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redhat-cloud-services/frontend-components-utilities",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.14",
|
|
4
4
|
"description": "Util functions for RedHat Cloud Services project.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@sentry/browser": "^5.4.0",
|
|
40
40
|
"@redhat-cloud-services/types": "0.0.1",
|
|
41
41
|
"awesome-debounce-promise": "^2.1.0",
|
|
42
|
-
"axios": "^0.
|
|
42
|
+
"axios": "^0.25.0",
|
|
43
43
|
"commander": ">=2.20.0",
|
|
44
44
|
"mkdirp": "^1.0.4",
|
|
45
45
|
"react-content-loader": ">=3.4.1"
|