update BiProvider
This commit is contained in:
parent
ecd210dc3b
commit
f3483580f1
677
dist/index.js
vendored
677
dist/index.js
vendored
File diff suppressed because one or more lines are too long
@ -10,40 +10,59 @@ import { Fonts, theme } from "../core/style.jsx";
|
|||||||
|
|
||||||
export function BiProvider({
|
export function BiProvider({
|
||||||
children,
|
children,
|
||||||
|
|
||||||
apiBaseUrl,
|
apiBaseUrl,
|
||||||
|
|
||||||
keycloakClientId,
|
keycloakClientId,
|
||||||
permissionClientId,
|
permissionClientId,
|
||||||
|
|
||||||
loading = <Spinner />,
|
loading = <Spinner />,
|
||||||
updateChecker = true,
|
|
||||||
|
updateChecker = false,
|
||||||
updateCheckerProps,
|
updateCheckerProps,
|
||||||
|
|
||||||
keycloakUrl = "https://auth.ibagher.ir",
|
keycloakUrl = "https://auth.ibagher.ir",
|
||||||
keycloakRealm = "bi",
|
keycloakRealm = "bi",
|
||||||
permissionUrl = "https://api.d.aiengines.ir/user_api/v1/permissions/list",
|
permissionUrl = "https://api.d.aiengines.ir/user_api/v1/permissions/list",
|
||||||
|
|
||||||
|
keycloakEnabled,
|
||||||
|
permissionEnabled,
|
||||||
}) {
|
}) {
|
||||||
const [mounted, setMounted] = useState(false);
|
const [mounted, setMounted] = useState(false);
|
||||||
|
|
||||||
|
const shouldUseKeycloak = keycloakEnabled ?? Boolean(keycloakClientId);
|
||||||
|
const shouldUsePermission = permissionEnabled ?? Boolean(permissionClientId);
|
||||||
|
|
||||||
const config = useMemo(
|
const config = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
api: {
|
api: {
|
||||||
baseUrl: apiBaseUrl,
|
baseUrl: apiBaseUrl || "",
|
||||||
},
|
},
|
||||||
keycloak: {
|
|
||||||
|
keycloak: shouldUseKeycloak
|
||||||
|
? {
|
||||||
url: keycloakUrl,
|
url: keycloakUrl,
|
||||||
realm: keycloakRealm,
|
realm: keycloakRealm,
|
||||||
clientId: keycloakClientId,
|
clientId: keycloakClientId,
|
||||||
},
|
}
|
||||||
permission: {
|
: null,
|
||||||
|
|
||||||
|
permission: shouldUsePermission
|
||||||
|
? {
|
||||||
url: permissionUrl,
|
url: permissionUrl,
|
||||||
clientId: permissionClientId,
|
clientId: permissionClientId,
|
||||||
},
|
}
|
||||||
|
: null,
|
||||||
}),
|
}),
|
||||||
[
|
[
|
||||||
apiBaseUrl,
|
apiBaseUrl,
|
||||||
keycloakClientId,
|
shouldUseKeycloak,
|
||||||
permissionClientId,
|
shouldUsePermission,
|
||||||
keycloakUrl,
|
keycloakUrl,
|
||||||
keycloakRealm,
|
keycloakRealm,
|
||||||
|
keycloakClientId,
|
||||||
permissionUrl,
|
permissionUrl,
|
||||||
|
permissionClientId,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -61,16 +80,32 @@ export function BiProvider({
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let content = children;
|
||||||
|
|
||||||
|
if (shouldUsePermission) {
|
||||||
|
content = (
|
||||||
|
<PermissionProvider config={config.permission} loading={loading}>
|
||||||
|
{content}
|
||||||
|
</PermissionProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldUseKeycloak) {
|
||||||
|
content = (
|
||||||
|
<KeycloakProvider config={config.keycloak} loading={loading}>
|
||||||
|
{content}
|
||||||
|
</KeycloakProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ChakraProvider theme={theme}>
|
<ChakraProvider theme={theme}>
|
||||||
<Fonts />
|
<Fonts />
|
||||||
|
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
{updateChecker && <UpdateChecker {...updateCheckerProps} />}
|
{updateChecker && <UpdateChecker {...updateCheckerProps} />}
|
||||||
<KeycloakProvider config={config.keycloak} loading={loading}>
|
|
||||||
<PermissionProvider config={config.permission} loading={loading}>
|
{content}
|
||||||
{children}
|
|
||||||
</PermissionProvider>
|
|
||||||
</KeycloakProvider>
|
|
||||||
</QueryClientProvider>
|
</QueryClientProvider>
|
||||||
</ChakraProvider>
|
</ChakraProvider>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user