chore updates
This commit is contained in:
parent
818331917c
commit
45aa2932ac
@ -2,17 +2,20 @@ import Keycloak from "keycloak-js";
|
||||
import {
|
||||
createContext,
|
||||
useCallback,
|
||||
useContext,
|
||||
useEffect,
|
||||
useMemo,
|
||||
useRef,
|
||||
useState,
|
||||
} from "react";
|
||||
|
||||
// variables
|
||||
|
||||
let keycloakInstance = null;
|
||||
let initPromise = null;
|
||||
let initializedValue = false;
|
||||
|
||||
// contexts
|
||||
|
||||
const KeycloakContext = createContext(null);
|
||||
|
||||
const createKeycloak = ({ url, realm, clientId }) => {
|
||||
@ -26,6 +29,8 @@ const createKeycloak = ({ url, realm, clientId }) => {
|
||||
return keycloakInstance;
|
||||
};
|
||||
|
||||
// initializations
|
||||
|
||||
export const initKeycloak = ({ config, initOptions = {} }) => {
|
||||
const keycloak = createKeycloak(config);
|
||||
if (!initPromise) {
|
||||
@ -48,6 +53,8 @@ export const initKeycloak = ({ config, initOptions = {} }) => {
|
||||
return initPromise;
|
||||
};
|
||||
|
||||
// exports
|
||||
|
||||
export const isKeycloakInitialized = () => {
|
||||
return initializedValue;
|
||||
};
|
||||
@ -74,6 +81,8 @@ export const loginKeycloak = (options) => {
|
||||
return keycloakInstance?.login(options);
|
||||
};
|
||||
|
||||
// providers
|
||||
|
||||
export const KeycloakProvider = ({
|
||||
children,
|
||||
config,
|
||||
@ -152,10 +161,8 @@ export const KeycloakProvider = ({
|
||||
|
||||
// const useKeycloak = () => {
|
||||
// const context = useContext(KeycloakContext);
|
||||
|
||||
// if (!context) {
|
||||
// throw new Error("useKeycloak must be used inside KeycloakProvider");
|
||||
// }
|
||||
|
||||
// return context;
|
||||
// };
|
||||
|
||||
@ -13,15 +13,19 @@ import {
|
||||
logoutKeycloak,
|
||||
} from "./keycloak.jsx";
|
||||
|
||||
// contexts
|
||||
|
||||
const PermissionContext = createContext(null);
|
||||
|
||||
// storage keys
|
||||
|
||||
const DEFAULT_STORAGE_KEY = "permissions";
|
||||
|
||||
const getPermissionStorageKey = (config) => {
|
||||
return config?.storageKey || DEFAULT_STORAGE_KEY;
|
||||
};
|
||||
|
||||
// provider
|
||||
// providers
|
||||
|
||||
export const PermissionProvider = ({
|
||||
user = null,
|
||||
@ -81,7 +85,7 @@ export const PermissionProvider = ({
|
||||
);
|
||||
};
|
||||
|
||||
// storage
|
||||
// storage cashes
|
||||
|
||||
export const getCachedPermissions = (storageKey = DEFAULT_STORAGE_KEY) => {
|
||||
if (typeof window === "undefined") return undefined;
|
||||
@ -139,14 +143,14 @@ export const checkPermission = (permissionSet, perm = "") => {
|
||||
return false;
|
||||
};
|
||||
|
||||
// keys
|
||||
// api keys
|
||||
|
||||
export const permissionKeys = {
|
||||
all: ["permissions"],
|
||||
list: (clientId) => [...permissionKeys.all, clientId],
|
||||
};
|
||||
|
||||
// api
|
||||
// apis
|
||||
|
||||
export const getPermissions = async (config) => {
|
||||
if (!config?.url || !config?.clientId) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user