UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

139 lines (138 loc) 7.35 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.addNamespace = void 0; const logger_1 = require("../../logger"); const commons_1 = require("../../commons"); const systemConnector_1 = require("../../systemConnector"); const inquirer_1 = require("../../inquirer"); exports.addNamespace = { name: 'add-namespace', run: (context) => __awaiter(void 0, void 0, void 0, function* () { logger_1.Logger.log('Add namespace step', true); context.runtime.rollback = true; var originalNamespace = (0, commons_1.getPackageNamespace)(context.runtime.originalData.hierarchy.devclass); logger_1.Logger.log(`Package original namespace is ${originalNamespace}`, true); if (!context.rawInput.installData.installDevclass.keepOriginal && context.rawInput.installData.installDevclass.replacements.length > 0) { context.runtime.installData.namespace = (0, commons_1.getPackageNamespace)(context.rawInput.installData.installDevclass.replacements[0].installDevclass); } else { context.runtime.installData.namespace = originalNamespace; } if (context.runtime.installData.namespace[0] !== '/') { logger_1.Logger.log(`Package install namespace is ${context.runtime.installData.namespace}`, true); return; } logger_1.Logger.loading(`Checking namespace ${context.runtime.installData.namespace}...`); var namespace; const namespaceCheck = yield systemConnector_1.SystemConnector.getNamespace(context.runtime.installData.namespace); if (namespaceCheck) { namespace = namespaceCheck.trnspacet; } if (namespace) { logger_1.Logger.log(`Namespace ${context.runtime.installData.namespace} already defined`, true); return; } var replicense; var texts; var aTexts = []; if (context.runtime.installData.namespace !== originalNamespace) { if (!context.rawInput.contextData.noInquirer) { replicense = (yield inquirer_1.Inquirer.prompt({ message: `Input repair license for namespace ${context.runtime.installData.namespace}`, name: 'replicense', type: 'input', validate: (input) => { if (/^\d+$/.test(input)) { return true; } else { return 'Invalid characters'; } } })).replicense; texts = yield inquirer_1.Inquirer.prompt([{ message: `dummy`, name: 'namespace', type: 'input', when: false, default: context.runtime.installData.namespace }, { message: `Namespace owner`, name: 'owner', type: 'input' }, { message: `Namespace language`, name: 'spras', type: 'input' }, { message: `Namespace description`, name: 'descriptn', type: 'input' }]); } } else { if (context.runtime.remotePackageData.trmManifest.namespace) { replicense = context.runtime.remotePackageData.trmManifest.namespace.replicense; if (context.runtime.remotePackageData.trmManifest.namespace.texts && context.runtime.remotePackageData.trmManifest.namespace.texts.length > 0) { if (context.runtime.remotePackageData.trmManifest.namespace.texts.length === 1 || context.rawInput.contextData.noInquirer) { texts = { namespace: context.runtime.installData.namespace, descriptn: context.runtime.remotePackageData.trmManifest.namespace.texts[0].description, owner: context.runtime.remotePackageData.trmManifest.namespace.texts[0].owner, spras: context.runtime.remotePackageData.trmManifest.namespace.texts[0].language }; } else { if (!context.rawInput.contextData.noInquirer) { texts = (yield inquirer_1.Inquirer.prompt({ type: 'list', message: 'Choose namespace install text', name: 'choice', choices: context.runtime.remotePackageData.trmManifest.namespace.texts.map(o => { return { name: `${o.language} ${o.description} ${o.owner}`, value: { namespace: context.runtime.installData.namespace, descriptn: o.description, owner: o.owner, spras: o.language } }; }) })).choice; } } } } } if (!replicense) { throw new Error(`Cannot use namespace ${context.runtime.installData.namespace}: repair license missing.`); } if (!texts) { throw new Error(`Cannot use namespace ${context.runtime.installData.namespace}: data missing.`); } else { aTexts.push(texts); if (texts.spras != systemConnector_1.SystemConnector.getLogonLanguage(true)) { aTexts.push(Object.assign(Object.assign({}, texts), { spras: systemConnector_1.SystemConnector.getLogonLanguage(true) })); } } logger_1.Logger.loading(`Installing namespace ${context.runtime.installData.namespace}...`); yield systemConnector_1.SystemConnector.addNamespace(context.runtime.installData.namespace, replicense, aTexts); context.runtime.generatedData.namespace = context.runtime.installData.namespace; }), revert: (context) => __awaiter(void 0, void 0, void 0, function* () { if (context.runtime.generatedData.namespace) { } }) };