UNPKG

@unito/integration-debugger

Version:

The Unito Integration Debugger

118 lines (117 loc) 4.1 kB
"use strict"; 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;