trm-core
Version:
TRM (Transport Request Manager) Core
53 lines (52 loc) • 2.38 kB
JavaScript
;
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.checkObjectsLock = void 0;
const trm_commons_1 = require("trm-commons");
const systemConnector_1 = require("../../systemConnector");
exports.checkObjectsLock = {
name: 'check-objects-lock',
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
if (context.rawInput.installData.installTransport.create) {
return true;
}
else {
trm_commons_1.Logger.log(`Skipping objects lock (user input, no install transport)`, true);
return false;
}
}),
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
trm_commons_1.Logger.log('Check objects lock step', true);
const devclass = context.runtime.generatedData.devclass.map(d => {
return {
PGMID: 'R3TR',
OBJECT: 'DEVC',
OBJ_NAME: d
};
});
const locks = yield systemConnector_1.SystemConnector.getObjectsLocks(devclass.concat(context.runtime.packageTransportsData.e071.map(o => {
return {
PGMID: o.pgmid,
OBJECT: o.object,
OBJ_NAME: o.objName
};
})));
if (locks.length > 0) {
locks.forEach(l => {
trm_commons_1.Logger.error(`${l.pgmid} ${l.object} ${l.objName} is currently locked in transport ${l.trkorr}`);
});
throw new Error(`To generate install transports, all objects must be released`);
}
else {
trm_commons_1.Logger.log(`All objects released, continue`, true);
}
})
};