UNPKG

@golemio/parkings

Version:
39 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ZtpParkingZonesWorker = void 0; const SourceEnum_1 = require("../../helpers/constants/SourceEnum"); const Di_1 = require("../ioc/Di"); const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken"); const UpdateAddressWorker_1 = require("../workers/UpdateAddressWorker"); const ZtpParkingZonesDataSourceFactory_1 = require("./ZtpParkingZonesDataSourceFactory"); const ZtpParkingZonesTransformation_1 = require("./ZtpParkingZonesTransformation"); const integration_engine_1 = require("@golemio/core/dist/integration-engine"); const config_1 = require("@golemio/core/dist/integration-engine/config"); const workers_1 = require("@golemio/core/dist/integration-engine/workers"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); class ZtpParkingZonesWorker extends workers_1.BaseWorker { constructor() { super(); this.updateZtpParkings = async () => { try { const data = await this.dataSource.getAll(); const transformedData = this.transformer.transformArray(data); await this.parkingRepository.saveActiveParkingsWithoutAddressAndName(transformedData, SourceEnum_1.SourceEnum.IPR); await integration_engine_1.QueueManager.sendMessageToExchange(config_1.config.RABBIT_EXCHANGE_NAME + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateMissingParkingsAddresses", {}); } catch (err) { if (err instanceof golemio_errors_1.AbstractGolemioError) { throw err; } else { throw new golemio_errors_1.GeneralError(`Error while refreshing ZTP Parking data: ${err.message}`, this.constructor.name, err); } } }; this.dataSource = ZtpParkingZonesDataSourceFactory_1.ZtpParkingZonesDataSourceFactory.getDataSource(); this.transformer = new ZtpParkingZonesTransformation_1.ZtpParkingZonesTransformation(new Date()); this.parkingRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository); } } exports.ZtpParkingZonesWorker = ZtpParkingZonesWorker; //# sourceMappingURL=ZtpParkingZonesWorker.js.map