UNPKG

@decaf-ts/fabric-weaver

Version:
64 lines 7.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FabricOrdererCommandBuilder = void 0; const logging_1 = require("@decaf-ts/logging"); const fabric_binaries_1 = require("../constants/fabric-binaries.cjs"); const fabric_orderer_1 = require("../constants/fabric-orderer.cjs"); const child_process_1 = require("../../utils/child-process.cjs"); const parsers_1 = require("../../utils/parsers.cjs"); class FabricOrdererCommandBuilder { constructor(logger) { this.binName = fabric_binaries_1.FabricBinaries.ORDERER; this.command = fabric_orderer_1.OrdererCommand.START; this.args = new Map(); if (!logger) this.log = logging_1.Logging.for(FabricOrdererCommandBuilder); else this.log = logger.for(FabricOrdererCommandBuilder.name); } /** * @description Sets the command for the Orderer. * @param {OrdererCommand} command - The command to set. * @returns {OrdererCommandBuilder} The current instance for method chaining. */ setCommand(command) { if (command === undefined) this.log.info(`Command not provided, defaulting to ${fabric_orderer_1.OrdererCommand.START}`); this.log.debug(`Setting command to ${command}`); this.command = command; return this; } build() { const command = [ this.getBinary(), this.getCommand(), ...(0, parsers_1.mapParser)(this.args), ].join(" "); this.log.debug(`Built command: ${command}`); return command; } getCommand() { return this.command; } getBinary() { return this.binName; } getArgs() { return (0, parsers_1.mapParser)(this.args); } async execute() { const bin = this.getBinary(); const argz = [this.getCommand(), ...this.getArgs()]; try { // const regex = /\[\s*INFO\s*\] Listening on http/; // can be used as a promise but to lock the logs running as execsync await (0, child_process_1.runCommand)(bin, argz); } catch (error) { this.log.error(`Error: Failed to execute the command: ${error}`); process.exit(1); } } } exports.FabricOrdererCommandBuilder = FabricOrdererCommandBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmljLW9yZGVyZXItY29tbWFuZC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhYnJpYy9vcmRlcmVyL2ZhYnJpYy1vcmRlcmVyLWNvbW1hbmQtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBb0Q7QUFDcEQsa0VBQThEO0FBQzlELGdFQUE2RDtBQUM3RCw2REFBdUQ7QUFDdkQsaURBQWdEO0FBRWhELE1BQWEsMkJBQTJCO0lBUXRDLFlBQVksTUFBZTtRQUxuQixZQUFPLEdBQW1CLGdDQUFjLENBQUMsT0FBTyxDQUFDO1FBQ2pELFlBQU8sR0FBbUIsK0JBQWMsQ0FBQyxLQUFLLENBQUM7UUFFL0MsU0FBSSxHQUFzRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRzFFLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDOztZQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsT0FBdUI7UUFDaEMsSUFBSSxPQUFPLEtBQUssU0FBUztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDWCx1Q0FBdUMsK0JBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FDOUQsQ0FBQztRQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLE9BQU8sR0FBVztZQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsR0FBRyxJQUFBLG1CQUFTLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFBLG1CQUFTLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQztZQUNILG9EQUFvRDtZQUNwRCxvRUFBb0U7WUFDcEUsTUFBTSxJQUFBLDBCQUFVLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWhFRCxrRUFnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IEZhYnJpY0JpbmFyaWVzIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9mYWJyaWMtYmluYXJpZXNcIjtcbmltcG9ydCB7IE9yZGVyZXJDb21tYW5kIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9mYWJyaWMtb3JkZXJlclwiO1xuaW1wb3J0IHsgcnVuQ29tbWFuZCB9IGZyb20gXCIuLi8uLi91dGlscy9jaGlsZC1wcm9jZXNzXCI7XG5pbXBvcnQgeyBtYXBQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbHMvcGFyc2Vyc1wiO1xuXG5leHBvcnQgY2xhc3MgRmFicmljT3JkZXJlckNvbW1hbmRCdWlsZGVyIHtcbiAgcHJpdmF0ZSBsb2c6IExvZ2dlcjtcblxuICBwcml2YXRlIGJpbk5hbWU6IEZhYnJpY0JpbmFyaWVzID0gRmFicmljQmluYXJpZXMuT1JERVJFUjtcbiAgcHJpdmF0ZSBjb21tYW5kOiBPcmRlcmVyQ29tbWFuZCA9IE9yZGVyZXJDb21tYW5kLlNUQVJUO1xuXG4gIHByaXZhdGUgYXJnczogTWFwPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3Rvcihsb2dnZXI/OiBMb2dnZXIpIHtcbiAgICBpZiAoIWxvZ2dlcikgdGhpcy5sb2cgPSBMb2dnaW5nLmZvcihGYWJyaWNPcmRlcmVyQ29tbWFuZEJ1aWxkZXIpO1xuICAgIGVsc2UgdGhpcy5sb2cgPSBsb2dnZXIuZm9yKEZhYnJpY09yZGVyZXJDb21tYW5kQnVpbGRlci5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgY29tbWFuZCBmb3IgdGhlIE9yZGVyZXIuXG4gICAqIEBwYXJhbSB7T3JkZXJlckNvbW1hbmR9IGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBzZXQuXG4gICAqIEByZXR1cm5zIHtPcmRlcmVyQ29tbWFuZEJ1aWxkZXJ9IFRoZSBjdXJyZW50IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRDb21tYW5kKGNvbW1hbmQ6IE9yZGVyZXJDb21tYW5kKTogRmFicmljT3JkZXJlckNvbW1hbmRCdWlsZGVyIHtcbiAgICBpZiAoY29tbWFuZCA9PT0gdW5kZWZpbmVkKVxuICAgICAgdGhpcy5sb2cuaW5mbyhcbiAgICAgICAgYENvbW1hbmQgbm90IHByb3ZpZGVkLCBkZWZhdWx0aW5nIHRvICR7T3JkZXJlckNvbW1hbmQuU1RBUlR9YFxuICAgICAgKTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgU2V0dGluZyBjb21tYW5kIHRvICR7Y29tbWFuZH1gKTtcbiAgICB0aGlzLmNvbW1hbmQgPSBjb21tYW5kO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYnVpbGQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21tYW5kOiBzdHJpbmcgPSBbXG4gICAgICB0aGlzLmdldEJpbmFyeSgpLFxuICAgICAgdGhpcy5nZXRDb21tYW5kKCksXG4gICAgICAuLi5tYXBQYXJzZXIodGhpcy5hcmdzKSxcbiAgICBdLmpvaW4oXCIgXCIpO1xuXG4gICAgdGhpcy5sb2cuZGVidWcoYEJ1aWx0IGNvbW1hbmQ6ICR7Y29tbWFuZH1gKTtcbiAgICByZXR1cm4gY29tbWFuZDtcbiAgfVxuXG4gIGdldENvbW1hbmQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21tYW5kO1xuICB9XG5cbiAgZ2V0QmluYXJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYmluTmFtZTtcbiAgfVxuXG4gIGdldEFyZ3MoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBtYXBQYXJzZXIodGhpcy5hcmdzKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYmluID0gdGhpcy5nZXRCaW5hcnkoKTtcbiAgICBjb25zdCBhcmd6ID0gW3RoaXMuZ2V0Q29tbWFuZCgpLCAuLi50aGlzLmdldEFyZ3MoKV07XG5cbiAgICB0cnkge1xuICAgICAgLy8gY29uc3QgcmVnZXggPSAvXFxbXFxzKklORk9cXHMqXFxdIExpc3RlbmluZyBvbiBodHRwLztcbiAgICAgIC8vIGNhbiBiZSB1c2VkIGFzIGEgcHJvbWlzZSBidXQgdG8gbG9jayB0aGUgbG9ncyBydW5uaW5nIGFzIGV4ZWNzeW5jXG4gICAgICBhd2FpdCBydW5Db21tYW5kKGJpbiwgYXJneik7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHRoaXMubG9nLmVycm9yKGBFcnJvcjogRmFpbGVkIHRvIGV4ZWN1dGUgdGhlIGNvbW1hbmQ6ICR7ZXJyb3J9YCk7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuICB9XG59XG4iXX0=