trm-client
Version:
TRM (Transport Request Manager) Client
72 lines (71 loc) • 3.06 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.createAlias = createAlias;
const systemAlias_1 = require("../systemAlias");
const prompts_1 = require("./prompts");
const utils_1 = require("../utils");
const trm_commons_1 = require("trm-commons");
function createAlias(commandArgs) {
return __awaiter(this, void 0, void 0, function* () {
const connectionArgs = yield (0, prompts_1.connect)({
noSystemAlias: true,
force: true
}, false);
trm_commons_1.Logger.loading(`Connecting to "${commandArgs.alias}"...`);
var alias;
if (connectionArgs.type === utils_1.SystemConnectorType.RFC) {
alias = systemAlias_1.SystemAlias.create(commandArgs.alias, connectionArgs.type, {
ashost: connectionArgs.ashost,
dest: connectionArgs.dest,
sysnr: connectionArgs.sysnr,
saprouter: connectionArgs.saprouter
}, {
client: connectionArgs.client,
lang: connectionArgs.lang,
passwd: connectionArgs.passwd,
user: connectionArgs.user
});
}
else if (connectionArgs.type === utils_1.SystemConnectorType.REST) {
alias = systemAlias_1.SystemAlias.create(commandArgs.alias, connectionArgs.type, {
endpoint: connectionArgs.endpoint,
rfcdest: connectionArgs.forwardRfcDest
}, {
lang: connectionArgs.lang,
passwd: connectionArgs.passwd,
user: connectionArgs.user,
client: connectionArgs.client
});
}
if (alias) {
var connectionSuccess = true;
try {
yield alias.getConnection().connect();
}
catch (e) {
connectionSuccess = false;
throw e;
}
finally {
if (connectionSuccess) {
trm_commons_1.Logger.success(`Alias "${commandArgs.alias}" created.`);
}
else {
systemAlias_1.SystemAlias.delete(commandArgs.alias);
}
}
}
else {
throw new Error(`Alias "${commandArgs.alias}" couldn't be created.`);
}
});
}