@siglesiasg/node-red-hyperledger-fabric-gateway
Version:
Hyperledger Fabric 2.x nodes for node-red with latest fabric-gateway library
69 lines • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildConnectionConfig = void 0;
const node_red_utils_1 = require("./../libs/node-red-utils");
function buildConnectionConfig(RED, config) {
const fabricGatewayDef = (0, node_red_utils_1.getConfigValidate)(RED, config.gatewaySelector);
const fabricIdentityDef = (0, node_red_utils_1.getConfigValidate)(RED, config.identitySelector);
const fabricChannelDef = (0, node_red_utils_1.getConfigValidate)(RED, config.channelSelector);
return {
gateway: buildGateway(RED, fabricGatewayDef),
identity: buildIdentity(RED, fabricIdentityDef),
channel: buildChannel(fabricChannelDef)
};
}
exports.buildConnectionConfig = buildConnectionConfig;
function buildGateway(RED, fabricGatewayDef) {
const fabricPeerDef = (0, node_red_utils_1.getConfigValidate)(RED, fabricGatewayDef.peerSelectorGw);
return {
gatewaySelector: fabricGatewayDef.id,
name: fabricGatewayDef.name,
peer: buildPeer(fabricPeerDef)
};
}
function buildIdentity(RED, fabricIdentityDef) {
const fabricIdentityMspidDef = (0, node_red_utils_1.getConfigValidate)(RED, fabricIdentityDef.mspIdSelector);
return {
identitySelector: fabricIdentityDef.id,
name: fabricIdentityDef.name,
certType: fabricIdentityDef.certType,
cert: fabricIdentityDef.cert,
privateKey: fabricIdentityDef.privateKey,
certPath: fabricIdentityDef.certPath,
privateKeyPath: fabricIdentityDef.privateKeyPath,
microfabUrl: fabricIdentityDef.microfabUrl,
microfabId: fabricIdentityDef.microfabId,
mspId: buildMspId(fabricIdentityMspidDef)
};
}
function buildChannel(fabricChannelDef) {
return {
channelSelector: fabricChannelDef.id,
name: fabricChannelDef.name,
channel: fabricChannelDef.channel
};
}
function buildMspId(fabricMspIdDef) {
return {
mspIdSelector: fabricMspIdDef.id,
name: fabricMspIdDef.name,
mspId: fabricMspIdDef.mspId,
};
}
function buildPeer(fabricPeerDef) {
let url;
if (fabricPeerDef.url.startsWith('grpcs://')) {
url = fabricPeerDef.url.substring(8, fabricPeerDef.url.length);
}
else {
url = fabricPeerDef.url;
}
return {
peerSelector: fabricPeerDef.id,
name: fabricPeerDef.name,
url,
tls: fabricPeerDef.tls,
grpcOptions: fabricPeerDef.grpcOptions,
};
}
//# sourceMappingURL=connection-config.model.js.map