UNPKG

@unito/integration-debugger

Version:

The Unito Integration Debugger

80 lines (79 loc) 3.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Environment = exports.CONFIG_FILE = void 0; exports.getDefaultConfiguration = getDefaultConfiguration; exports.readConfiguration = readConfiguration; exports.writeConfiguration = writeConfiguration; exports.sanitizeConfiguration = sanitizeConfiguration; const fs_1 = __importDefault(require("fs")); exports.CONFIG_FILE = '.unito.debugger.json'; var Environment; (function (Environment) { Environment["None"] = "none"; Environment["Local"] = "local"; Environment["Staging"] = "staging"; Environment["Production"] = "prod"; })(Environment || (exports.Environment = Environment = {})); function getDefaultConfiguration() { return { apiKey: undefined, environment: Environment.None, integrationId: undefined, credentialId: undefined, integrationUrl: undefined, credentialPayload: undefined, secretsPayload: undefined, graphRelativeUrl: undefined, credentialAccountRelativeUrl: undefined, webhookParsingRelativeUrl: undefined, webhookSubscriptionsRelativeUrl: undefined, webhookAcknowledgeRelativeUrl: undefined, spawnProcessCommand: undefined, interactive: true, verbose: false, startingPath: undefined, startingOperation: undefined, outputFilePath: undefined, stepCheckKeys: undefined, operationCollectionItemsPerPage: Number.MAX_SAFE_INTEGER, operationCollectionFollowNextPages: true, readOnly: undefined, timeout: undefined, }; } async function readConfiguration() { let configuration; try { const configurationFile = await fs_1.default.promises.readFile(exports.CONFIG_FILE, { encoding: 'utf8', flag: 'r' }); configuration = JSON.parse(configurationFile); } catch { configuration = getDefaultConfiguration(); } if (configuration.environment === undefined) { configuration.environment = Environment.None; } return { ...getDefaultConfiguration(), ...configuration }; } async function writeConfiguration(configuration) { await fs_1.default.promises.writeFile(exports.CONFIG_FILE, JSON.stringify(configuration, null, 2), { encoding: 'utf8', flag: 'w' }); } function sanitizeConfiguration(configuration) { const sanitizedConfiguration = JSON.parse(JSON.stringify(configuration)); if (sanitizedConfiguration.credentialPayload) { for (const [key, value] of Object.entries(sanitizedConfiguration.credentialPayload)) { if (typeof value === 'string') { sanitizedConfiguration.credentialPayload[key] = '**********'; } } } if (sanitizedConfiguration.secretsPayload) { for (const [key] of Object.entries(sanitizedConfiguration.secretsPayload)) { sanitizedConfiguration.secretsPayload[key] = '**********'; } } return sanitizedConfiguration; }