UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

85 lines (84 loc) 4.36 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.setCustomizingTransports = void 0; const logger_1 = require("../../logger"); const inquirer_1 = require("../../inquirer"); const transport_1 = require("../../transport"); exports.setCustomizingTransports = { name: 'set-customizing-transports', filter: (context) => __awaiter(void 0, void 0, void 0, function* () { if (context.rawInput.publishData.skipCustomizingTransports) { logger_1.Logger.log(`Skipping customizing transports publish (user input)`, true); return false; } else { return true; } }), run: (context) => __awaiter(void 0, void 0, void 0, function* () { logger_1.Logger.log('Set customizing transports step', true); if (!context.rawInput.contextData.noInquirer) { var defaultTransports; if (Array.isArray(context.rawInput.publishData.customizingTransports)) { defaultTransports = context.rawInput.publishData.customizingTransports.map(o => { return o.trkorr; }).join(', '); } else { defaultTransports = context.rawInput.publishData.customizingTransports; } const inq = yield inquirer_1.Inquirer.prompt({ message: `Add customizing transports (separated by comma)`, name: 'transports', type: 'input', default: defaultTransports }); context.rawInput.publishData.customizingTransports = inq.transports; } if (typeof (context.rawInput.publishData.customizingTransports) === 'string') { context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(o => { if (o) { try { return new transport_1.Transport(o.trim()); } catch (e) { throw new Error(`Invalid customizing transport values: trkorr.`); } } }).filter(o => o !== undefined); } var validatedTransports = []; if (Array.isArray(context.rawInput.publishData.customizingTransports) && context.rawInput.publishData.customizingTransports.length > 0) { logger_1.Logger.loading(`Reading customizing transports...`); for (const transport of context.rawInput.publishData.customizingTransports) { logger_1.Logger.log(`Checking transport ${transport.trkorr}`, true); if (yield transport.getE070()) { if (!validatedTransports.find(o => o.trkorr === transport.trkorr)) { logger_1.Logger.log(`Transport ${transport.trkorr} is validated`, true); validatedTransports.push(transport); } const tasks = yield transport.getTasks(); tasks.forEach(task => { if (!validatedTransports.find(o => o.trkorr === task.trkorr)) { logger_1.Logger.log(`Transport ${transport.trkorr} task is validated`, true); validatedTransports.push(task); } }); } else { logger_1.Logger.log(`Transport ${transport.trkorr} doesn't exist`, true); } } logger_1.Logger.info(`${validatedTransports.length} customizing transports/tasks will be published.`); } }) };