@fabric-es/fabric-cqrs
Version:
Hyperledger Fabric middleware for event sourcing and cqrs pattern
21 lines • 1.24 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = __importDefault(require("util"));
const redux_observable_1 = require("redux-observable");
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const action_1 = require("../action");
const { CIDX_SEARCH, searchSuccess, searchError } = action_1.action;
exports.default = (action$, _, { queryDatabase, logger }) => action$.pipe(redux_observable_1.ofType(CIDX_SEARCH), operators_1.map(({ payload }) => payload), operators_1.mergeMap(({ tx_id, args: { query, param, countTotalOnly } }) => rxjs_1.from(queryDatabase
.fullTextSearchCommit({ query, param, countTotalOnly })
.then(({ data, status, errors }) => status === 'OK'
? searchSuccess({ tx_id, result: data })
: searchError({ tx_id, error: errors }))
.catch((error) => {
logger.error(util_1.default.format('[store/query/fullTextSearchCIdx.js] fail to %s: tx_id:%s, %j', CIDX_SEARCH, tx_id, error));
return searchError({ tx_id, error: error.message });
}))));
//# sourceMappingURL=fullTextSearchCIdx.js.map