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({
|
||||
children,
|
||||
|
||||
apiBaseUrl,
|
||||
|
||||
keycloakClientId,
|
||||
permissionClientId,
|
||||
|
||||
loading = <Spinner />,
|
||||
updateChecker = true,
|
||||
|
||||
updateChecker = false,
|
||||
updateCheckerProps,
|
||||
|
||||
keycloakUrl = "https://auth.ibagher.ir",
|
||||
keycloakRealm = "bi",
|
||||
permissionUrl = "https://api.d.aiengines.ir/user_api/v1/permissions/list",
|
||||
|
||||
keycloakEnabled,
|
||||
permissionEnabled,
|
||||
}) {
|
||||
const [mounted, setMounted] = useState(false);
|
||||
|
||||
const shouldUseKeycloak = keycloakEnabled ?? Boolean(keycloakClientId);
|
||||
const shouldUsePermission = permissionEnabled ?? Boolean(permissionClientId);
|
||||
|
||||
const config = useMemo(
|
||||
() => ({
|
||||
api: {
|
||||
baseUrl: apiBaseUrl,
|
||||
},
|
||||
keycloak: {
|
||||
url: keycloakUrl,
|
||||
realm: keycloakRealm,
|
||||
clientId: keycloakClientId,
|
||||
},
|
||||
permission: {
|
||||
url: permissionUrl,
|
||||
clientId: permissionClientId,
|
||||
baseUrl: apiBaseUrl || "",
|
||||
},
|
||||
|
||||
keycloak: shouldUseKeycloak
|
||||
? {
|
||||
url: keycloakUrl,
|
||||
realm: keycloakRealm,
|
||||
clientId: keycloakClientId,
|
||||
}
|
||||
: null,
|
||||
|
||||
permission: shouldUsePermission
|
||||
? {
|
||||
url: permissionUrl,
|
||||
clientId: permissionClientId,
|
||||
}
|
||||
: null,
|
||||
}),
|
||||
[
|
||||
apiBaseUrl,
|
||||
keycloakClientId,
|
||||
permissionClientId,
|
||||
shouldUseKeycloak,
|
||||
shouldUsePermission,
|
||||
keycloakUrl,
|
||||
keycloakRealm,
|
||||
keycloakClientId,
|
||||
permissionUrl,
|
||||
permissionClientId,
|
||||
],
|
||||
);
|
||||
|
||||
@ -61,16 +80,32 @@ export function BiProvider({
|
||||
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 (
|
||||
<ChakraProvider theme={theme}>
|
||||
<Fonts />
|
||||
|
||||
<QueryClientProvider client={queryClient}>
|
||||
{updateChecker && <UpdateChecker {...updateCheckerProps} />}
|
||||
<KeycloakProvider config={config.keycloak} loading={loading}>
|
||||
<PermissionProvider config={config.permission} loading={loading}>
|
||||
{children}
|
||||
</PermissionProvider>
|
||||
</KeycloakProvider>
|
||||
|
||||
{content}
|
||||
</QueryClientProvider>
|
||||
</ChakraProvider>
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user