@iushev/react-rbac 1.0.25 → 1.0.27
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/.vscode/settings.json +3 -2
- package/lib/CheckAccess.d.ts +1 -0
- package/lib/CheckAccess.d.ts.map +1 -1
- 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 +1 -0
- package/lib/RbacContext.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/CheckAccess.tsx +1 -0
- package/src/RbacCheckAccess.ts +0 -8
- package/src/RbacContext.tsx +3 -2
package/.vscode/settings.json
CHANGED
package/lib/CheckAccess.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { CheckAccessOptions } from "./RbacContext";
|
|
|
3
3
|
export declare type CheckAccessProps = CheckAccessOptions & {
|
|
4
4
|
busy?: React.ComponentType;
|
|
5
5
|
noAccess?: React.ComponentType;
|
|
6
|
+
children: React.ReactNode;
|
|
6
7
|
};
|
|
7
8
|
declare const CheckAccess: React.FC<CheckAccessProps>;
|
|
8
9
|
export default CheckAccess;
|
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,oBAAY,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;
|
|
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,oBAAY,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
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
|
@@ -21,6 +21,7 @@ export declare type RbacProviderProps = {
|
|
|
21
21
|
isSuperuser: boolean;
|
|
22
22
|
isGuest: boolean;
|
|
23
23
|
ruleClasses: Map<string, RuleCtor<Rule>>;
|
|
24
|
+
children: React.ReactNode;
|
|
24
25
|
};
|
|
25
26
|
export declare const RbacProvider: React.FC<RbacProviderProps>;
|
|
26
27
|
export declare const RbacConsumer: React.Consumer<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;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;
|
|
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;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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iushev/react-rbac",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.27",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Ivaylo Ushev",
|
|
6
6
|
"description": "",
|
|
@@ -21,23 +21,23 @@
|
|
|
21
21
|
"http-status-codes": "^2.2.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/react": "^
|
|
25
|
-
"@types/react-dom": "^
|
|
26
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
27
|
-
"@typescript-eslint/parser": "^5.
|
|
28
|
-
"eslint": "^8.
|
|
24
|
+
"@types/react": "^18.0.21",
|
|
25
|
+
"@types/react-dom": "^18.0.6",
|
|
26
|
+
"@typescript-eslint/eslint-plugin": "^5.39.0",
|
|
27
|
+
"@typescript-eslint/parser": "^5.39.0",
|
|
28
|
+
"eslint": "^8.24.0",
|
|
29
29
|
"eslint-config-prettier": "^8.5.0",
|
|
30
|
-
"eslint-plugin-prettier": "^4.
|
|
31
|
-
"eslint-plugin-react": "^7.
|
|
32
|
-
"eslint-plugin-react-hooks": "^4.
|
|
33
|
-
"jest": "^
|
|
34
|
-
"prettier": "^2.
|
|
30
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
31
|
+
"eslint-plugin-react": "^7.31.8",
|
|
32
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
33
|
+
"jest": "^29.1.2",
|
|
34
|
+
"prettier": "^2.7.1",
|
|
35
35
|
"rimraf": "^3.0.2",
|
|
36
|
-
"ts-jest": "^
|
|
37
|
-
"typescript": "^4.
|
|
36
|
+
"ts-jest": "^29.0.3",
|
|
37
|
+
"typescript": "^4.8.4"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@iushev/rbac": "^1.0.
|
|
40
|
+
"@iushev/rbac": "^1.0.38",
|
|
41
41
|
"axios": "0.27.2",
|
|
42
42
|
"react": "^16.14.0 || ^17.0.2",
|
|
43
43
|
"react-dom": "^16.14.0 || ^17.0.2"
|
package/src/CheckAccess.tsx
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
|
@@ -29,6 +29,7 @@ export type RbacProviderProps = {
|
|
|
29
29
|
isSuperuser: boolean;
|
|
30
30
|
isGuest: boolean;
|
|
31
31
|
ruleClasses: Map<string, RuleCtor<Rule>>;
|
|
32
|
+
children: React.ReactNode;
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
@@ -57,7 +58,7 @@ export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
|
57
58
|
}, [rbacUrl, token]);
|
|
58
59
|
|
|
59
60
|
const matchRole = useCallback(
|
|
60
|
-
async (roles, params) => {
|
|
61
|
+
async (roles: string[], params: RuleParams | RuleParamsFunction) => {
|
|
61
62
|
if (!roles || roles.length === 0) {
|
|
62
63
|
return true;
|
|
63
64
|
}
|
|
@@ -86,7 +87,7 @@ export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
|
86
87
|
[isGuest, rbac, username]
|
|
87
88
|
);
|
|
88
89
|
|
|
89
|
-
const matchCustom = useCallback((match) => {
|
|
90
|
+
const matchCustom = useCallback((match?: MatchFunction) => {
|
|
90
91
|
if (!match) {
|
|
91
92
|
return true;
|
|
92
93
|
}
|