@iushev/react-rbac 1.0.23 → 1.0.26
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/lib/RbacCheckAccess.d.ts +0 -1
- package/lib/RbacCheckAccess.d.ts.map +1 -1
- package/lib/RbacCheckAccess.js +0 -9
- package/lib/RbacContext.d.ts +2 -0
- package/lib/RbacContext.d.ts.map +1 -1
- package/lib/RbacContext.js +3 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/package.json +1 -1
- package/src/RbacCheckAccess.ts +0 -8
- package/src/RbacContext.tsx +4 -1
- package/src/index.ts +1 -1
package/lib/RbacCheckAccess.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export default class RbacCheckAccess extends BaseCheckAccess {
|
|
|
8
8
|
protected assignments: Map<string, Map<string, Assignment>>;
|
|
9
9
|
constructor(options: RbacCheckAccessOptions);
|
|
10
10
|
checkAccess(username: string, itemName: string, params: RuleParams): Promise<boolean>;
|
|
11
|
-
getAssignmentsByUser(username: string): Promise<Map<string, Assignment>>;
|
|
12
11
|
load(): Promise<void>;
|
|
13
12
|
private getRbacItems;
|
|
14
13
|
private getRbacParents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RbacCheckAccess.d.ts","sourceRoot":"","sources":["../src/RbacCheckAccess.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,eAAe,EACf,sBAAsB,EAOtB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,oBAAY,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1D,OAAO,CAAC,aAAa,CAAgB;IAErC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAa;gBAE5D,OAAO,EAAE,sBAAsB;IAsB9B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,
|
|
1
|
+
{"version":3,"file":"RbacCheckAccess.d.ts","sourceRoot":"","sources":["../src/RbacCheckAccess.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,eAAe,EACf,sBAAsB,EAOtB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,oBAAY,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1D,OAAO,CAAC,aAAa,CAAgB;IAErC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAa;gBAE5D,OAAO,EAAE,sBAAsB;IAsB9B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBlC,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,kBAAkB;CAa3B"}
|
package/lib/RbacCheckAccess.js
CHANGED
|
@@ -48,15 +48,6 @@ class RbacCheckAccess extends rbac_1.BaseCheckAccess {
|
|
|
48
48
|
return _super.checkAccess.call(this, username, itemName, params, (_a = this.assignments.get(username)) !== null && _a !== void 0 ? _a : new Map());
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
getAssignmentsByUser(username) {
|
|
52
|
-
var _a;
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
if (this.items.size === 0) {
|
|
55
|
-
yield this.load();
|
|
56
|
-
}
|
|
57
|
-
return (_a = this.assignments.get(username)) !== null && _a !== void 0 ? _a : new Map();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
51
|
load() {
|
|
61
52
|
var _a;
|
|
62
53
|
return __awaiter(this, void 0, void 0, function* () {
|
package/lib/RbacContext.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { RuleParams, Rule, RuleCtor } from "@iushev/rbac";
|
|
3
|
+
import RbacCheckAccess from "./RbacCheckAccess";
|
|
3
4
|
export declare type RuleParamsFunction = () => RuleParams;
|
|
4
5
|
export declare type MatchFunction = () => boolean;
|
|
5
6
|
export declare type CheckAccessOptions = {
|
|
@@ -9,6 +10,7 @@ export declare type CheckAccessOptions = {
|
|
|
9
10
|
match?: MatchFunction;
|
|
10
11
|
};
|
|
11
12
|
export declare type RbacContextProps = {
|
|
13
|
+
rbac: RbacCheckAccess | null;
|
|
12
14
|
checkAccess: (options: CheckAccessOptions) => Promise<boolean>;
|
|
13
15
|
};
|
|
14
16
|
declare const RbacContext: React.Context<RbacContextProps>;
|
package/lib/RbacContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RbacContext.d.ts","sourceRoot":"","sources":["../src/RbacContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgE,MAAM,OAAO,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"RbacContext.d.ts","sourceRoot":"","sources":["../src/RbacContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgE,MAAM,OAAO,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,oBAAY,kBAAkB,GAAG,MAAM,UAAU,CAAC;AAClD,oBAAY,aAAa,GAAG,MAAM,OAAO,CAAC;AAC1C,oBAAY,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,GAAG,kBAAkB,CAAC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,QAAA,MAAM,WAAW,iCAGf,CAAC;AAEH,oBAAY,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6EpD,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAuB,CAAC;AAEjD,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/lib/RbacContext.js
CHANGED
|
@@ -40,6 +40,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const RbacCheckAccess_1 = __importDefault(require("./RbacCheckAccess"));
|
|
42
42
|
const RbacContext = react_1.default.createContext({
|
|
43
|
+
rbac: null,
|
|
43
44
|
checkAccess: (_options) => __awaiter(void 0, void 0, void 0, function* () { return true; }),
|
|
44
45
|
});
|
|
45
46
|
const RbacProvider = ({ username, rbacUrl, token, isSuperuser, isGuest, ruleClasses, children, }) => {
|
|
@@ -95,9 +96,10 @@ const RbacProvider = ({ username, rbacUrl, token, isSuperuser, isGuest, ruleClas
|
|
|
95
96
|
}), [isSuperuser, matchCustom, matchRole]);
|
|
96
97
|
const value = (0, react_1.useMemo)(() => {
|
|
97
98
|
return {
|
|
99
|
+
rbac,
|
|
98
100
|
checkAccess,
|
|
99
101
|
};
|
|
100
|
-
}, [checkAccess]);
|
|
102
|
+
}, [rbac, checkAccess]);
|
|
101
103
|
return (0, jsx_runtime_1.jsx)(RbacContext.Provider, Object.assign({ value: value }, { children: children }));
|
|
102
104
|
};
|
|
103
105
|
exports.RbacProvider = RbacProvider;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as RbacContext, RbacConsumer, RbacProvider } from "./RbacContext";
|
|
1
|
+
export { default as RbacContext, RbacConsumer, RbacProvider, useRbac } from "./RbacContext";
|
|
2
2
|
export { default as CheckAccess, CheckAccessProps } from "./CheckAccess";
|
|
3
3
|
export { default as NoAccess } from "./NoAccess";
|
|
4
4
|
export { default as useCheckAccess } from "./useCheckAccess";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useCheckAccess = exports.NoAccess = exports.CheckAccess = exports.RbacProvider = exports.RbacConsumer = exports.RbacContext = void 0;
|
|
6
|
+
exports.useCheckAccess = exports.NoAccess = exports.CheckAccess = exports.useRbac = exports.RbacProvider = exports.RbacConsumer = exports.RbacContext = void 0;
|
|
7
7
|
var RbacContext_1 = require("./RbacContext");
|
|
8
8
|
Object.defineProperty(exports, "RbacContext", { enumerable: true, get: function () { return __importDefault(RbacContext_1).default; } });
|
|
9
9
|
Object.defineProperty(exports, "RbacConsumer", { enumerable: true, get: function () { return RbacContext_1.RbacConsumer; } });
|
|
10
10
|
Object.defineProperty(exports, "RbacProvider", { enumerable: true, get: function () { return RbacContext_1.RbacProvider; } });
|
|
11
|
+
Object.defineProperty(exports, "useRbac", { enumerable: true, get: function () { return RbacContext_1.useRbac; } });
|
|
11
12
|
var CheckAccess_1 = require("./CheckAccess");
|
|
12
13
|
Object.defineProperty(exports, "CheckAccess", { enumerable: true, get: function () { return __importDefault(CheckAccess_1).default; } });
|
|
13
14
|
var NoAccess_1 = require("./NoAccess");
|
package/package.json
CHANGED
package/src/RbacCheckAccess.ts
CHANGED
|
@@ -54,14 +54,6 @@ export default class RbacCheckAccess extends BaseCheckAccess {
|
|
|
54
54
|
return super.checkAccess(username, itemName, params, this.assignments.get(username) ?? new Map());
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
public async getAssignmentsByUser(username: string): Promise<Map<string, Assignment>> {
|
|
58
|
-
if (this.items.size === 0) {
|
|
59
|
-
await this.load();
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return this.assignments.get(username) ?? new Map();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
57
|
public async load(): Promise<void> {
|
|
66
58
|
let _rbac: RBACResponse;
|
|
67
59
|
try {
|
package/src/RbacContext.tsx
CHANGED
|
@@ -13,10 +13,12 @@ export type CheckAccessOptions = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export type RbacContextProps = {
|
|
16
|
+
rbac: RbacCheckAccess | null;
|
|
16
17
|
checkAccess: (options: CheckAccessOptions) => Promise<boolean>;
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
const RbacContext = React.createContext<RbacContextProps>({
|
|
21
|
+
rbac: null,
|
|
20
22
|
checkAccess: async (_options: CheckAccessOptions) => true,
|
|
21
23
|
});
|
|
22
24
|
|
|
@@ -100,9 +102,10 @@ export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
|
100
102
|
|
|
101
103
|
const value = useMemo(() => {
|
|
102
104
|
return {
|
|
105
|
+
rbac,
|
|
103
106
|
checkAccess,
|
|
104
107
|
};
|
|
105
|
-
}, [checkAccess]);
|
|
108
|
+
}, [rbac, checkAccess]);
|
|
106
109
|
|
|
107
110
|
return <RbacContext.Provider value={value}>{children}</RbacContext.Provider>;
|
|
108
111
|
};
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as RbacContext, RbacConsumer, RbacProvider } from "./RbacContext";
|
|
1
|
+
export { default as RbacContext, RbacConsumer, RbacProvider, useRbac } from "./RbacContext";
|
|
2
2
|
export { default as CheckAccess, CheckAccessProps } from "./CheckAccess";
|
|
3
3
|
export { default as NoAccess } from "./NoAccess";
|
|
4
4
|
export { default as useCheckAccess } from "./useCheckAccess";
|