@iushev/react-rbac 1.0.32 → 1.0.35
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/CheckAccess.d.ts +1 -1
- package/lib/CheckAccess.d.ts.map +1 -1
- package/lib/RbacCheckAccess.d.ts +1 -1
- package/lib/RbacCheckAccess.d.ts.map +1 -1
- package/lib/RbacCheckAccess.js +8 -6
- package/lib/RbacContext.d.ts +5 -5
- package/lib/RbacContext.d.ts.map +1 -1
- package/lib/RbacContext.js +1 -1
- package/lib/useCheckAccess.d.ts +1 -1
- package/lib/useCheckAccess.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/RbacCheckAccess.ts +9 -7
- package/src/RbacContext.tsx +1 -1
package/lib/CheckAccess.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CheckAccessOptions } from "./RbacContext";
|
|
3
|
-
export
|
|
3
|
+
export type CheckAccessProps = CheckAccessOptions & {
|
|
4
4
|
busy?: React.ComponentType;
|
|
5
5
|
noAccess?: React.ComponentType;
|
|
6
6
|
children?: React.ReactNode;
|
package/lib/CheckAccess.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckAccess.d.ts","sourceRoot":"","sources":["../src/CheckAccess.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,
|
|
1
|
+
{"version":3,"file":"CheckAccess.d.ts","sourceRoot":"","sources":["../src/CheckAccess.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/lib/RbacCheckAccess.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from "axios";
|
|
2
2
|
import { Assignment, BaseCheckAccess, BaseCheckAccessOptions, RuleParams } from "@iushev/rbac";
|
|
3
|
-
export
|
|
3
|
+
export type RbacCheckAccessOptions = BaseCheckAccessOptions & {
|
|
4
4
|
path: string;
|
|
5
5
|
authorization: () => string;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RbacCheckAccess.d.ts","sourceRoot":"","sources":["../src/RbacCheckAccess.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,eAAe,EACf,sBAAsB,EAOtB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,
|
|
1
|
+
{"version":3,"file":"RbacCheckAccess.d.ts","sourceRoot":"","sources":["../src/RbacCheckAccess.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,eAAe,EACf,sBAAsB,EAOtB,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,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;IAkB9B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,kBAAkB;CAa3B"}
|
package/lib/RbacCheckAccess.js
CHANGED
|
@@ -23,9 +23,6 @@ class RbacCheckAccess extends rbac_1.BaseCheckAccess {
|
|
|
23
23
|
baseURL: options.path,
|
|
24
24
|
});
|
|
25
25
|
this.axiosInstance.interceptors.request.use((config) => {
|
|
26
|
-
if (!config.headers) {
|
|
27
|
-
config.headers = {};
|
|
28
|
-
}
|
|
29
26
|
if (options.authorization) {
|
|
30
27
|
const token = options.authorization();
|
|
31
28
|
config.headers.Authorization = "Bearer " + token;
|
|
@@ -98,10 +95,15 @@ class RbacCheckAccess extends rbac_1.BaseCheckAccess {
|
|
|
98
95
|
if (!this.items.has(childName)) {
|
|
99
96
|
return;
|
|
100
97
|
}
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
let child = prevValue.get(childName);
|
|
99
|
+
if (!child) {
|
|
100
|
+
child = new Map();
|
|
101
|
+
prevValue.set(childName, child);
|
|
102
|
+
}
|
|
103
|
+
const item = this.items.get(name);
|
|
104
|
+
if (item) {
|
|
105
|
+
child.set(name, item);
|
|
103
106
|
}
|
|
104
|
-
prevValue.get(childName).set(name, this.items.get(name));
|
|
105
107
|
});
|
|
106
108
|
return prevValue;
|
|
107
109
|
}, new Map());
|
package/lib/RbacContext.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { RuleParams, Rule, RuleCtor } from "@iushev/rbac";
|
|
3
3
|
import RbacCheckAccess from "./RbacCheckAccess";
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
4
|
+
export type RuleParamsFunction = () => RuleParams;
|
|
5
|
+
export type MatchFunction = () => boolean;
|
|
6
|
+
export type CheckAccessOptions = {
|
|
7
7
|
roles: string[];
|
|
8
8
|
allow?: boolean;
|
|
9
9
|
params?: RuleParams | RuleParamsFunction;
|
|
10
10
|
match?: MatchFunction;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export type RbacContextProps = {
|
|
13
13
|
rbac: RbacCheckAccess | null;
|
|
14
14
|
checkAccess: (options: CheckAccessOptions) => Promise<boolean>;
|
|
15
15
|
};
|
|
16
16
|
declare const RbacContext: React.Context<RbacContextProps>;
|
|
17
|
-
export
|
|
17
|
+
export type RbacProviderProps = {
|
|
18
18
|
username: string;
|
|
19
19
|
rbacUrl: string;
|
|
20
20
|
token: string;
|
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;AAC1D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,
|
|
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,MAAM,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;AAC1C,MAAM,MAAM,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,MAAM,MAAM,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,MAAM,MAAM,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;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,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
|
@@ -41,7 +41,7 @@ const react_1 = __importStar(require("react"));
|
|
|
41
41
|
const RbacCheckAccess_1 = __importDefault(require("./RbacCheckAccess"));
|
|
42
42
|
const RbacContext = react_1.default.createContext({
|
|
43
43
|
rbac: null,
|
|
44
|
-
checkAccess: (
|
|
44
|
+
checkAccess: () => __awaiter(void 0, void 0, void 0, function* () { return true; }),
|
|
45
45
|
});
|
|
46
46
|
const RbacProvider = ({ username, rbacUrl, token, isSuperuser, isGuest, ruleClasses, children, }) => {
|
|
47
47
|
const [rbac, setRbac] = (0, react_1.useState)(null);
|
package/lib/useCheckAccess.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckAccess.d.ts","sourceRoot":"","sources":["../src/useCheckAccess.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAW,MAAM,eAAe,CAAC;AAE5D,
|
|
1
|
+
{"version":3,"file":"useCheckAccess.d.ts","sourceRoot":"","sources":["../src/useCheckAccess.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAW,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,iBAAS,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,kBAAkB,oBAyC1E;AAED,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iushev/react-rbac",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.35",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Ivaylo Ushev",
|
|
6
6
|
"description": "",
|
|
@@ -21,24 +21,24 @@
|
|
|
21
21
|
"http-status-codes": "^2.2.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/react": "^18.0.
|
|
25
|
-
"@types/react-dom": "^18.0.
|
|
26
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
27
|
-
"@typescript-eslint/parser": "^5.
|
|
28
|
-
"eslint": "^8.
|
|
29
|
-
"eslint-config-prettier": "^8.
|
|
24
|
+
"@types/react": "^18.0.28",
|
|
25
|
+
"@types/react-dom": "^18.0.11",
|
|
26
|
+
"@typescript-eslint/eslint-plugin": "^5.53.0",
|
|
27
|
+
"@typescript-eslint/parser": "^5.53.0",
|
|
28
|
+
"eslint": "^8.34.0",
|
|
29
|
+
"eslint-config-prettier": "^8.6.0",
|
|
30
30
|
"eslint-plugin-prettier": "^4.2.1",
|
|
31
|
-
"eslint-plugin-react": "^7.
|
|
31
|
+
"eslint-plugin-react": "^7.32.2",
|
|
32
32
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
33
|
-
"jest": "^29.
|
|
34
|
-
"prettier": "^2.
|
|
35
|
-
"rimraf": "^
|
|
36
|
-
"ts-jest": "^29.0.
|
|
37
|
-
"typescript": "^4.
|
|
33
|
+
"jest": "^29.4.3",
|
|
34
|
+
"prettier": "^2.8.4",
|
|
35
|
+
"rimraf": "^4.1.2",
|
|
36
|
+
"ts-jest": "^29.0.5",
|
|
37
|
+
"typescript": "^4.9.5"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@iushev/rbac": "^1.0.
|
|
41
|
-
"axios": "^1.
|
|
40
|
+
"@iushev/rbac": "^1.0.43",
|
|
41
|
+
"axios": "^1.3.4",
|
|
42
42
|
"react": "^16.14.0 || ^17.0.2 || ^18.2.0",
|
|
43
43
|
"react-dom": "^16.14.0 || ^17.0.2 || ^18.2.0"
|
|
44
44
|
},
|
package/src/RbacCheckAccess.ts
CHANGED
|
@@ -32,10 +32,6 @@ export default class RbacCheckAccess extends BaseCheckAccess {
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
this.axiosInstance.interceptors.request.use((config) => {
|
|
35
|
-
if (!config.headers) {
|
|
36
|
-
config.headers = {};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
35
|
if (options.authorization) {
|
|
40
36
|
const token = options.authorization();
|
|
41
37
|
config.headers.Authorization = "Bearer " + token;
|
|
@@ -105,11 +101,17 @@ export default class RbacCheckAccess extends BaseCheckAccess {
|
|
|
105
101
|
return;
|
|
106
102
|
}
|
|
107
103
|
|
|
108
|
-
|
|
109
|
-
|
|
104
|
+
let child = prevValue.get(childName);
|
|
105
|
+
|
|
106
|
+
if (!child) {
|
|
107
|
+
child = new Map();
|
|
108
|
+
prevValue.set(childName, child);
|
|
110
109
|
}
|
|
111
110
|
|
|
112
|
-
|
|
111
|
+
const item = this.items.get(name);
|
|
112
|
+
if (item) {
|
|
113
|
+
child.set(name, item);
|
|
114
|
+
}
|
|
113
115
|
});
|
|
114
116
|
|
|
115
117
|
return prevValue;
|
package/src/RbacContext.tsx
CHANGED