@unito/integration-debugger
Version:
The Unito Integration Debugger
118 lines (117 loc) • 4.1 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const store_1 = require("./store");
const integrationsPlatform_1 = require("./services/integrationsPlatform");
const configuration_1 = require("./resources/configuration");
const StatusWatcher = () => {
const configuration = (0, store_1.useConfigurationState)();
const integration = (0, store_1.useIntegrationState)();
const credential = (0, store_1.useCredentialState)();
const status = (0, store_1.useStatusState)();
//
// Environment.
//
(0, react_1.useEffect)(() => {
let timeout = undefined;
const pingPlatform = () => {
(0, integrationsPlatform_1.getPlatformAlive)(configuration.environment)
.then(success => {
status.environment = success;
timeout = setTimeout(pingPlatform, 5000);
})
.catch(() => {
status.environment = false;
clearTimeout(timeout);
timeout = setTimeout(pingPlatform, 5000);
});
};
pingPlatform();
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, []);
//
// API Key
//
(0, react_1.useEffect)(() => {
let timeout = undefined;
const pingApiKeyAlive = () => {
(0, integrationsPlatform_1.getApiKeyAlive)(configuration.environment)
.then(success => {
status.apiKey = success;
timeout = setTimeout(pingApiKeyAlive, 5000);
})
.catch(() => {
status.apiKey = false;
clearTimeout(timeout);
timeout = setTimeout(pingApiKeyAlive, 5000);
});
};
pingApiKeyAlive();
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, []);
//
// Integration.
//
(0, react_1.useEffect)(() => {
let timeout = undefined;
const pingIntegration = () => {
const callback = configuration.environment === configuration_1.Environment.None
? (0, integrationsPlatform_1.getNoneIntegrationAlive)(configuration.integrationUrl)
: (0, integrationsPlatform_1.getIntegrationAlive)(integration.current, credential.current);
callback
.then(success => {
status.integration = success;
timeout = setTimeout(pingIntegration, 5000);
})
.catch(() => {
status.integration = false;
clearTimeout(timeout);
timeout = setTimeout(pingIntegration, 5000);
});
};
pingIntegration();
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, []);
//
// Credential.
//
(0, react_1.useEffect)(() => {
let timeout = undefined;
const pingCredential = () => {
const callback = configuration.environment === configuration_1.Environment.None
? (0, integrationsPlatform_1.getNoneCredentialAlive)(configuration.integrationUrl, configuration.credentialPayload)
: (0, integrationsPlatform_1.getCredentialAlive)(credential.current);
callback
.then(success => {
status.credential = success;
timeout = setTimeout(pingCredential, 5000);
})
.catch(() => {
status.credential = false;
clearTimeout(timeout);
timeout = setTimeout(pingCredential, 5000);
});
};
pingCredential();
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, []);
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
};
exports.default = StatusWatcher;
;