@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.
@@ -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,CAgB3C,CAAC;AAEF,eAAe,WAAW,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;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"}
@@ -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
  }
@@ -7,6 +7,7 @@ export type CheckAccessOptions = {
7
7
  allow?: boolean;
8
8
  params?: RuleParams | RuleParamsFunction;
9
9
  match?: MatchFunction;
10
+ logging?: false | ((...args: any[]) => void);
10
11
  };
11
12
  export type RbacContextProps = {
12
13
  rbacManager: BaseManager | null;
@@ -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;CACvB,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"}
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"}
@@ -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,
@@ -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,oBA4C1E;AAED,eAAe,cAAc,CAAC"}
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"}
@@ -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.44",
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.54",
42
- "@iushev/rbac-web-manager": "^1.0.2",
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"
@@ -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 />;
@@ -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(() => {
@@ -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
  }