@iushev/react-rbac 1.0.44 → 1.0.45
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.map +1 -1
- package/lib/CheckAccess.js +2 -2
- package/lib/RbacContext.d.ts +1 -0
- package/lib/RbacContext.d.ts.map +1 -1
- package/lib/RbacContext.js +3 -3
- package/lib/useCheckAccess.d.ts +1 -1
- package/lib/useCheckAccess.d.ts.map +1 -1
- package/lib/useCheckAccess.js +3 -3
- package/package.json +3 -3
- package/src/CheckAccess.tsx +2 -1
- package/src/RbacContext.tsx +4 -3
- package/src/useCheckAccess.ts +3 -3
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;AAKnD,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,
|
|
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;AAKnD,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,CAiB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/lib/CheckAccess.js
CHANGED
|
@@ -7,8 +7,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
const useCheckAccess_1 = __importDefault(require("./useCheckAccess"));
|
|
8
8
|
const NoAccess_1 = __importDefault(require("./NoAccess"));
|
|
9
9
|
const NullComponent_1 = __importDefault(require("./NullComponent"));
|
|
10
|
-
const CheckAccess = ({ roles, allow, params, match, busy: BusyComponent = NullComponent_1.default, noAccess: NoAccessComponent = NoAccess_1.default, children, }) => {
|
|
11
|
-
const { checking, hasAccess } = (0, useCheckAccess_1.default)({ roles, allow, params, match });
|
|
10
|
+
const CheckAccess = ({ roles, allow, params, match, busy: BusyComponent = NullComponent_1.default, noAccess: NoAccessComponent = NoAccess_1.default, children, logging, }) => {
|
|
11
|
+
const { checking, hasAccess } = (0, useCheckAccess_1.default)({ roles, allow, params, match, logging });
|
|
12
12
|
if (checking) {
|
|
13
13
|
return (0, jsx_runtime_1.jsx)(BusyComponent, {});
|
|
14
14
|
}
|
package/lib/RbacContext.d.ts
CHANGED
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,EAAuB,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtG,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;
|
|
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,EAAuB,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtG,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;IACtB,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,QAAA,MAAM,WAAW,wCAAqD,CAAC;AAEvE,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4DpD,CAAC;AAEF,eAAO,MAAM,YAAY,yCAAuB,CAAC;AAEjD,eAAe,WAAW,CAAC"}
|
package/lib/RbacContext.js
CHANGED
|
@@ -77,7 +77,7 @@ const RbacProvider = ({ identity, rbacUrl, token, ruleClasses, children, logging
|
|
|
77
77
|
});
|
|
78
78
|
initRbac();
|
|
79
79
|
}, [identity, logging, rbacUrl, ruleClasses, token]);
|
|
80
|
-
const checkAccess = (0, react_1.useCallback)((_a) => __awaiter(void 0, [_a], void 0, function* ({ roles, allow = true, match, params = {} }) {
|
|
80
|
+
const checkAccess = (0, react_1.useCallback)((_a) => __awaiter(void 0, [_a], void 0, function* ({ roles, allow = true, match, params = {}, logging: loggingOption = false }) {
|
|
81
81
|
if (!rbacManager) {
|
|
82
82
|
return false;
|
|
83
83
|
}
|
|
@@ -89,8 +89,8 @@ const RbacProvider = ({ identity, rbacUrl, token, ruleClasses, children, logging
|
|
|
89
89
|
};
|
|
90
90
|
const user = new rbac_1.RbacUser(rbacManager);
|
|
91
91
|
user.identity = identity;
|
|
92
|
-
return user.isSuperuser || ((yield (0, rbac_1.matchRole)({ user, roles, params })) && matchCustom(match) && allow);
|
|
93
|
-
}), [identity, rbacManager]);
|
|
92
|
+
return user.isSuperuser || ((yield (0, rbac_1.matchRole)({ user, roles, params, logging: loggingOption ? loggingOption : logging })) && matchCustom(match) && allow);
|
|
93
|
+
}), [identity, rbacManager, logging]);
|
|
94
94
|
const value = (0, react_1.useMemo)(() => {
|
|
95
95
|
return {
|
|
96
96
|
rbacManager,
|
package/lib/useCheckAccess.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export type CheckAssessState = {
|
|
|
3
3
|
checking: boolean;
|
|
4
4
|
hasAccess: boolean;
|
|
5
5
|
};
|
|
6
|
-
declare function useCheckAccess({ roles, allow, params, match }: CheckAccessOptions): CheckAssessState;
|
|
6
|
+
declare function useCheckAccess({ roles, allow, params, match, logging }: CheckAccessOptions): CheckAssessState;
|
|
7
7
|
export default useCheckAccess;
|
|
8
8
|
//# sourceMappingURL=useCheckAccess.d.ts.map
|
|
@@ -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,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,
|
|
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,OAAO,EAAE,EAAE,kBAAkB,oBA4CnF;AAED,eAAe,cAAc,CAAC"}
|
package/lib/useCheckAccess.js
CHANGED
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const react_1 = require("react");
|
|
13
13
|
const RbacContext_1 = require("./RbacContext");
|
|
14
|
-
function useCheckAccess({ roles, allow, params, match }) {
|
|
14
|
+
function useCheckAccess({ roles, allow, params, match, logging }) {
|
|
15
15
|
const rbac = (0, RbacContext_1.useRbac)();
|
|
16
16
|
const [state, setState] = (0, react_1.useState)({
|
|
17
17
|
checking: true,
|
|
@@ -25,7 +25,7 @@ function useCheckAccess({ roles, allow, params, match }) {
|
|
|
25
25
|
hasAccess: false,
|
|
26
26
|
});
|
|
27
27
|
try {
|
|
28
|
-
const result = yield rbac.checkAccess({ roles, allow, params, match });
|
|
28
|
+
const result = yield rbac.checkAccess({ roles, allow, params, match, logging });
|
|
29
29
|
if (subscribed) {
|
|
30
30
|
setState({
|
|
31
31
|
checking: false,
|
|
@@ -47,7 +47,7 @@ function useCheckAccess({ roles, allow, params, match }) {
|
|
|
47
47
|
return () => {
|
|
48
48
|
subscribed = false;
|
|
49
49
|
};
|
|
50
|
-
}, [rbac, roles, allow, params, match]);
|
|
50
|
+
}, [rbac, roles, allow, params, match, logging]);
|
|
51
51
|
return state;
|
|
52
52
|
}
|
|
53
53
|
exports.default = useCheckAccess;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iushev/react-rbac",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.45",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Ivaylo Ushev",
|
|
6
6
|
"description": "",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"typescript": "^5.9.3"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@iushev/rbac": "^1.0.
|
|
42
|
-
"@iushev/rbac-web-manager": "^1.0.
|
|
41
|
+
"@iushev/rbac": "^1.0.62",
|
|
42
|
+
"@iushev/rbac-web-manager": "^1.0.6",
|
|
43
43
|
"axios": "^1.13.2",
|
|
44
44
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
45
45
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
package/src/CheckAccess.tsx
CHANGED
|
@@ -19,8 +19,9 @@ const CheckAccess: React.FC<CheckAccessProps> = ({
|
|
|
19
19
|
busy: BusyComponent = NullComponent,
|
|
20
20
|
noAccess: NoAccessComponent = NoAccess,
|
|
21
21
|
children,
|
|
22
|
+
logging,
|
|
22
23
|
}) => {
|
|
23
|
-
const { checking, hasAccess } = useCheckAccess({ roles, allow, params, match });
|
|
24
|
+
const { checking, hasAccess } = useCheckAccess({ roles, allow, params, match, logging });
|
|
24
25
|
|
|
25
26
|
if (checking) {
|
|
26
27
|
return <BusyComponent />;
|
package/src/RbacContext.tsx
CHANGED
|
@@ -10,6 +10,7 @@ export type CheckAccessOptions = {
|
|
|
10
10
|
allow?: boolean;
|
|
11
11
|
params?: RuleParams | RuleParamsFunction;
|
|
12
12
|
match?: MatchFunction;
|
|
13
|
+
logging?: false | ((...args: any[]) => void);
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
export type RbacContextProps = {
|
|
@@ -69,7 +70,7 @@ export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
|
69
70
|
}, [identity, logging, rbacUrl, ruleClasses, token]);
|
|
70
71
|
|
|
71
72
|
const checkAccess = useCallback(
|
|
72
|
-
async ({ roles, allow = true, match, params = {} }: CheckAccessOptions) => {
|
|
73
|
+
async ({ roles, allow = true, match, params = {}, logging: loggingOption = false }: CheckAccessOptions) => {
|
|
73
74
|
if (!rbacManager) {
|
|
74
75
|
return false;
|
|
75
76
|
}
|
|
@@ -84,9 +85,9 @@ export const RbacProvider: React.FC<RbacProviderProps> = ({
|
|
|
84
85
|
const user = new RbacUser(rbacManager);
|
|
85
86
|
user.identity = identity;
|
|
86
87
|
|
|
87
|
-
return user.isSuperuser || ((await matchRole({ user, roles, params })) && matchCustom(match) && allow);
|
|
88
|
+
return user.isSuperuser || ((await matchRole({ user, roles, params, logging: loggingOption ? loggingOption : logging })) && matchCustom(match) && allow);
|
|
88
89
|
},
|
|
89
|
-
[identity, rbacManager],
|
|
90
|
+
[identity, rbacManager, logging],
|
|
90
91
|
);
|
|
91
92
|
|
|
92
93
|
const value = useMemo(() => {
|
package/src/useCheckAccess.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type CheckAssessState = {
|
|
|
6
6
|
hasAccess: boolean;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
function useCheckAccess({ roles, allow, params, match }: CheckAccessOptions) {
|
|
9
|
+
function useCheckAccess({ roles, allow, params, match, logging }: CheckAccessOptions) {
|
|
10
10
|
const rbac = useRbac();
|
|
11
11
|
|
|
12
12
|
const [state, setState] = useState<CheckAssessState>({
|
|
@@ -24,7 +24,7 @@ function useCheckAccess({ roles, allow, params, match }: CheckAccessOptions) {
|
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
try {
|
|
27
|
-
const result = await rbac.checkAccess({ roles, allow, params, match });
|
|
27
|
+
const result = await rbac.checkAccess({ roles, allow, params, match, logging });
|
|
28
28
|
if (subscribed) {
|
|
29
29
|
setState({
|
|
30
30
|
checking: false,
|
|
@@ -47,7 +47,7 @@ function useCheckAccess({ roles, allow, params, match }: CheckAccessOptions) {
|
|
|
47
47
|
return () => {
|
|
48
48
|
subscribed = false;
|
|
49
49
|
};
|
|
50
|
-
}, [rbac, roles, allow, params, match]);
|
|
50
|
+
}, [rbac, roles, allow, params, match, logging]);
|
|
51
51
|
|
|
52
52
|
return state;
|
|
53
53
|
}
|