@iushev/react-rbac 1.0.24 → 1.0.25

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,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>;
@@ -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;AAG1D,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,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,QAAA,MAAM,WAAW,iCAEf,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,CA4EpD,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAuB,CAAC;AAEjD,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAC;AAEF,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,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"}
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iushev/react-rbac",
3
- "version": "1.0.24",
3
+ "version": "1.0.25",
4
4
  "private": false,
5
5
  "author": "Ivaylo Ushev",
6
6
  "description": "",
@@ -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
  };