@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.
@@ -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 = __spreadArray([], this.listeners, true);
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":";;;;;;;;;;;;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,qBAAO,IAAI,CAAC,SAAS,OAAC,CAAC;QACtC,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"}
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"}
@@ -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;
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RBACHook.js","sourceRoot":"","sources":["../src/RBACHook/RBACHook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4C;AAC5C,gCAA6D;AAO7D,SAAgB,cAAc,CAAC,OAAe,EAAE,eAAyB,EAAE,YAAsB;IAAjG,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,IAAA,0BAAmB,EAAC,eAAe,EAAE,eAAe,CAAC;yBACjE,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
+ {"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 = __spreadArray([], this.listeners, true);
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":";;;;;;;;;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,qBAAO,IAAI,CAAC,SAAS,OAAC,CAAC;QACtC,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"}
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
@@ -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"}
@@ -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;AAO7D,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,eAAyB,EAAE,YAAsB;IAAjG,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,mBAAmB,CAAC,eAAe,EAAE,eAAe,CAAC;yBACjE,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"}
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.11",
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.21.4",
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"