mirror of https://github.com/boxyhq/jackson.git
tweaked caching of jackson lib instance, fixed misc types (#1142)
This commit is contained in:
parent
e95844d81e
commit
2e21b533d2
|
@ -1,104 +1,15 @@
|
|||
import type {
|
||||
IAdminController,
|
||||
IConnectionAPIController,
|
||||
ILogoutController,
|
||||
IOAuthController,
|
||||
IHealthCheckController,
|
||||
ISetupLinkController,
|
||||
IDirectorySyncController,
|
||||
IOidcDiscoveryController,
|
||||
ISPSAMLConfig,
|
||||
ISAMLFederationController,
|
||||
IBrandingController,
|
||||
} from '@boxyhq/saml-jackson';
|
||||
import type { SAMLJackson } from '@boxyhq/saml-jackson';
|
||||
|
||||
import jackson from '@boxyhq/saml-jackson';
|
||||
import { jacksonOptions } from '@lib/env';
|
||||
import '@lib/metrics';
|
||||
|
||||
let connectionAPIController: IConnectionAPIController;
|
||||
let oauthController: IOAuthController;
|
||||
let adminController: IAdminController;
|
||||
let logoutController: ILogoutController;
|
||||
let healthCheckController: IHealthCheckController;
|
||||
let setupLinkController: ISetupLinkController;
|
||||
let directorySyncController: IDirectorySyncController;
|
||||
let oidcDiscoveryController: IOidcDiscoveryController;
|
||||
let spConfig: ISPSAMLConfig;
|
||||
let samlFederatedController: ISAMLFederationController;
|
||||
let checkLicense: () => Promise<boolean>;
|
||||
let brandingController: IBrandingController;
|
||||
|
||||
const g = global as any;
|
||||
|
||||
export default async function init() {
|
||||
if (
|
||||
!g.connectionAPIController ||
|
||||
!g.oauthController ||
|
||||
!g.adminController ||
|
||||
!g.logoutController ||
|
||||
!g.healthCheckController ||
|
||||
!g.setupLinkController ||
|
||||
!g.directorySyncController ||
|
||||
!g.oidcDiscoveryController ||
|
||||
!g.spConfig ||
|
||||
!g.samlFederatedController ||
|
||||
!g.brandingController
|
||||
) {
|
||||
const ret = await jackson(jacksonOptions);
|
||||
connectionAPIController = ret.connectionAPIController;
|
||||
oauthController = ret.oauthController;
|
||||
adminController = ret.adminController;
|
||||
logoutController = ret.logoutController;
|
||||
healthCheckController = ret.healthCheckController;
|
||||
setupLinkController = ret.setupLinkController;
|
||||
directorySyncController = ret.directorySyncController;
|
||||
oidcDiscoveryController = ret.oidcDiscoveryController;
|
||||
spConfig = ret.spConfig;
|
||||
samlFederatedController = ret.samlFederatedController;
|
||||
checkLicense = ret.checkLicense;
|
||||
brandingController = ret.brandingController;
|
||||
|
||||
g.connectionAPIController = connectionAPIController;
|
||||
g.oauthController = oauthController;
|
||||
g.adminController = adminController;
|
||||
g.logoutController = logoutController;
|
||||
g.healthCheckController = healthCheckController;
|
||||
g.directorySyncController = directorySyncController;
|
||||
g.setupLinkController = setupLinkController;
|
||||
g.oidcDiscoveryController = oidcDiscoveryController;
|
||||
g.spConfig = spConfig;
|
||||
g.isJacksonReady = true;
|
||||
g.samlFederatedController = samlFederatedController;
|
||||
g.checkLicense = checkLicense;
|
||||
g.brandingController = brandingController;
|
||||
} else {
|
||||
connectionAPIController = g.connectionAPIController;
|
||||
oauthController = g.oauthController;
|
||||
adminController = g.adminController;
|
||||
logoutController = g.logoutController;
|
||||
healthCheckController = g.healthCheckController;
|
||||
directorySyncController = g.directorySyncController;
|
||||
oidcDiscoveryController = g.oidcDiscoveryController;
|
||||
setupLinkController = g.setupLinkController;
|
||||
spConfig = g.spConfig;
|
||||
samlFederatedController = g.samlFederatedController;
|
||||
checkLicense = g.checkLicense;
|
||||
brandingController = g.brandingController;
|
||||
if (!g.jacksonInstance) {
|
||||
g.jacksonInstance = await jackson(jacksonOptions);
|
||||
}
|
||||
|
||||
return {
|
||||
spConfig,
|
||||
connectionAPIController,
|
||||
oauthController,
|
||||
adminController,
|
||||
logoutController,
|
||||
healthCheckController,
|
||||
directorySyncController,
|
||||
oidcDiscoveryController,
|
||||
setupLinkController,
|
||||
samlFederatedController,
|
||||
checkLicense,
|
||||
brandingController,
|
||||
};
|
||||
return g.jacksonInstance as SAMLJackson;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ export class AdminController implements IAdminController {
|
|||
)) as Records<SAMLSSORecord | OIDCSSORecord>;
|
||||
|
||||
if (!connectionList || !connectionList.length) {
|
||||
return [];
|
||||
return { data: [] };
|
||||
}
|
||||
|
||||
return { data: transformConnections(connectionList), pageToken: nextPageToken };
|
||||
|
@ -40,7 +40,7 @@ export class AdminController implements IAdminController {
|
|||
)) as Records<Trace>;
|
||||
|
||||
if (!traces || !traces.length) {
|
||||
return [];
|
||||
return { data: [] };
|
||||
}
|
||||
|
||||
return { data: traces, pageToken: nextPageToken };
|
||||
|
|
|
@ -20,7 +20,7 @@ export class HealthCheckController implements IHealthCheckController {
|
|||
status: number;
|
||||
}> {
|
||||
try {
|
||||
if (!g.isJacksonReady) {
|
||||
if (!g.jacksonInstance) {
|
||||
return {
|
||||
status: 503,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue