@energyweb/node-red-contrib-green-proof-worker
Version:
## Peer dependencies
51 lines (50 loc) • 1.9 kB
JavaScript
;
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;