UNPKG

@fabric-es/fabric-cqrs

Version:

Hyperledger Fabric middleware for event sourcing and cqrs pattern

40 lines 1.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.submit$ = exports.submit = void 0; const util_1 = __importDefault(require("util")); const rxjs_1 = require("rxjs"); const utils_1 = require("../utils"); const contract_1 = require("./contract"); const submit = async (fcn, args, { network }) => { const logger = utils_1.getLogger({ name: '[fabric-cqrs] submit.js' }); const isNullArg = args.reduce((prev, curr) => prev || curr === undefined || curr === null, false); if (isNullArg) return { error: 'invalid input argument' }; let input_args = args; if (fcn === 'eventstore:createCommit') { input_args = [...args.slice(0, 4), utils_1.createCommitId()]; if (args[4]) input_args.push(args[4]); else input_args.push(''); } return contract_1.getContract(network).then(({ contract }) => contract .createTransaction(fcn) .submit(...input_args) .then((res) => { const result = JSON.parse(Buffer.from(JSON.parse(res)).toString()); logger.debug(util_1.default.format('%s successful response', fcn)); return result; }) .catch((error) => { logger.error(util_1.default.format('error in %s: %j', fcn, error)); return { error }; })); }; exports.submit = submit; const submit$ = (fcn, args, options) => rxjs_1.from(exports.submit(fcn, args, options)); exports.submit$ = submit$; //# sourceMappingURL=submit.js.map