UNPKG

@energyweb/node-red-contrib-green-proof-worker

Version:

## Peer dependencies

51 lines (50 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KafkaConfig = void 0; const tslib_1 = require("tslib"); const api_1 = require("@polkadot/api"); const kafkajs_1 = require("kafkajs"); const z = tslib_1.__importStar(require("zod")); const node_1 = require("../node"); const nodes_config_env_1 = require("../nodes-config-env"); const InputMessage = z.object({}); const Config = z.object({ clientId: z.string(), brokers: z.string(), }); const getAddressFromSeed = (seed) => { return new api_1.Keyring({ type: 'sr25519' }).addFromUri(seed).address; }; const KafkaConfig = (api) => class SourceKafkaConfig extends node_1.Node { constructor(config) { super(api, config, InputMessage); this.data = (async () => { const { clientId, brokers } = Config.parse({ clientId: config.clientId || this.getNodeEnvConfig().EWX_WORKER_ADDRESS || getAddressFromSeed(nodes_config_env_1.nodesGlobalEnvConfig.VOTING_SERVICE_CONFIG_WORKER_SEED), brokers: config.brokers || nodes_config_env_1.nodesGlobalEnvConfig.SOURCE_KAFKA_CONFIG_BROKERS || await this.getBaseUrls() .then(c => (Array.isArray(c.kafka_url) ? c.kafka_url.join(',') : c.kafka_url)), }); return { clientId, kafka: new kafkajs_1.Kafka({ clientId, retry: { retries: 100, }, connectionTimeout: 120000, enforceRequestTimeout: false, requestTimeout: 120000, brokers: brokers.split(','), }) }; })(); } onInput() { } async onDestroy() { } }; exports.KafkaConfig = KafkaConfig;