UNPKG

@fabric-es/fabric-cqrs

Version:

Hyperledger Fabric middleware for event sourcing and cqrs pattern

64 lines 2.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNetwork = void 0; const util_1 = __importDefault(require("util")); const fabric_network_1 = require("fabric-network"); const js_yaml_1 = require("js-yaml"); const utils_1 = require("../utils"); const getNetwork = async ({ enrollmentId, channelName, connectionProfile, wallet, eventHandlerStrategy = fabric_network_1.DefaultEventHandlerStrategies.MSPID_SCOPE_ALLFORTX, queryHandlerStrategy = fabric_network_1.DefaultQueryHandlerStrategies.MSPID_SCOPE_SINGLE, discovery, asLocalhost, }) => { const logger = utils_1.getLogger({ name: '[fabric-cqrs] getNetwork.js' }); let identityExist; try { identityExist = await wallet.get(enrollmentId); } catch (e) { logger.error(util_1.default.format('error in wallet, %j', e)); throw new Error(e); } if (!identityExist) { logger.error('no enrollmentId in the wallet'); throw new Error('Please register user, before retrying'); } if (!connectionProfile) { logger.error('no connection profile provided'); throw new Error('No connection profile provided'); } const gateway = new fabric_network_1.Gateway(); let network; let cp; try { cp = await utils_1.promiseToReadFile(connectionProfile); } catch (err) { logger.error(util_1.default.format('new gateway error: %j', err)); throw new Error(err); } const connect = (identity) => gateway.connect(js_yaml_1.safeLoad(cp), { identity, wallet, discovery: { enabled: discovery, asLocalhost }, eventHandlerOptions: { strategy: eventHandlerStrategy }, queryHandlerOptions: { strategy: queryHandlerStrategy }, }); try { await connect(enrollmentId); } catch (err) { logger.error(util_1.default.format('%s connect gateway error: %j', enrollmentId, err)); throw new Error(err); } try { network = await gateway.getNetwork(channelName); } catch (err) { logger.error(util_1.default.format('%s getNetwork error: %j', channelName, err)); throw new Error(err); } logger.debug(util_1.default.format('gateway connected: %s', enrollmentId)); return { enrollmentId, gateway, network }; }; exports.getNetwork = getNetwork; //# sourceMappingURL=network.js.map