UNPKG

trm-client

Version:

TRM (Transport Request Manager) Client

65 lines (64 loc) 2.82 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addRegistry = addRegistry; const trm_core_1 = require("trm-core"); const registryAlias_1 = require("../registryAlias"); const trm_commons_1 = require("trm-commons"); function addRegistry(commandArgs) { return __awaiter(this, void 0, void 0, function* () { const registryName = commandArgs.registryName.trim(); const auth = commandArgs.authentication; var endpoint = commandArgs.endpoint; var oAuth; if (registryName.toLowerCase() === trm_core_1.PUBLIC_RESERVED_KEYWORD) { throw new Error(`Registry name "${trm_core_1.PUBLIC_RESERVED_KEYWORD}" is a reserved keyword.`); } if (registryName.toLowerCase() === trm_core_1.LOCAL_RESERVED_KEYWORD) { throw new Error(`Registry name "${trm_core_1.LOCAL_RESERVED_KEYWORD}" is a reserved keyword.`); } if (auth) { try { oAuth = JSON.parse(auth); } catch (e) { throw new Error(`Invalid authentication JSON object.`); } } const inq1 = yield trm_commons_1.Inquirer.prompt({ type: "input", name: "endpoint", message: "Registry endpoint", default: endpoint, when: !endpoint }); endpoint = inq1.endpoint || endpoint; const registry = registryAlias_1.RegistryAlias.create(registryName, endpoint, oAuth); var pingSuccess = true; try { const ping = yield registry.getRegistry().ping(); trm_commons_1.Logger.registryResponse(ping.wallMessage); } catch (e) { trm_commons_1.Logger.error(`Ping to registry "${registryName}" (${endpoint}) failed.`); pingSuccess = false; throw e; } finally { if (pingSuccess) { trm_commons_1.Logger.success(`Registry "${registryName}" added.`); } else { registryAlias_1.RegistryAlias.delete(registryName); } } }); }