UNPKG

@golemio/energetics

Version:
35 lines 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PreJsonInputController = void 0; const controllers_1 = require("@golemio/core/dist/input-gateway/controllers"); const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator"); const PreJsonInputSchema_1 = require("../../schema-definitions/datasources/PreJsonInputSchema"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const constants_1 = require("../../integration-engine/commodity-providers/constants"); class PreJsonInputController extends controllers_1.BaseController { constructor(preDataExtractor) { super(constants_1.WORKER_NAME, new golemio_validator_1.JSONSchemaValidator("PreJsonInputController", PreJsonInputSchema_1.preJsonInputSchema)); this.preDataExtractor = preDataExtractor; this.processData = async (inputData) => { try { await this.validator.Validate(inputData); const eanMeasurements = this.preDataExtractor.extractEanMeasurements(inputData); for (const eanMeasurement of eanMeasurements) { await this.sendMessageToExchange("input." + this.queuePrefix + ".processPreEanMeasurements", JSON.stringify(eanMeasurement), { persistent: true, }); } } catch (err) { if (err instanceof golemio_errors_1.AbstractGolemioError) { throw err; } else { throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422); } } }; } } exports.PreJsonInputController = PreJsonInputController; //# sourceMappingURL=PreJsonInputController.js.map