@golemio/energetics
Version:
Golemio Energetics Module
35 lines • 1.83 kB
JavaScript
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
;