@fabric-es/fabric-cqrs
Version:
Hyperledger Fabric middleware for event sourcing and cqrs pattern
34 lines • 1.66 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.submitPrivateData$ = exports.submitPrivateData = void 0;
const util_1 = __importDefault(require("util"));
const rxjs_1 = require("rxjs");
const utils_1 = require("../utils");
const contract_1 = require("./contract");
const submitPrivateData = async (fcn, args, transientData, { network }) => {
const logger = utils_1.getLogger({ name: '[fabric-cqrs] submitPrivateData.js' });
const isNullArg = args.reduce((prev, curr) => prev && !!curr, true);
if (!isNullArg)
return { error: 'invalid input argument' };
const input_args = fcn === 'privatedata:createCommit' ? [...args, utils_1.createCommitId()] : args;
return contract_1.getContract(network).then(({ contract }) => contract
.createTransaction(fcn)
.setTransient(transientData)
.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.submitPrivateData = submitPrivateData;
const submitPrivateData$ = (fcn, args, transientData, options) => rxjs_1.from(exports.submitPrivateData(fcn, args, transientData, options));
exports.submitPrivateData$ = submitPrivateData$;
//# sourceMappingURL=submitPrivateData.js.map