UNPKG

@golemio/energetics

Version:
65 lines 4.08 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FetchDateFactory = void 0; const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe"); const ModuleContainer_1 = require("../ioc/ModuleContainer"); const MeasurementDataFetcher_1 = require("./MeasurementDataFetcher"); const MeasuringEquipmentFetcher_1 = require("./MeasuringEquipmentFetcher"); const MeterTypeFetcher_1 = require("./MeterTypeFetcher"); const TypeMeasuringEquipmentFetcher_1 = require("./TypeMeasuringEquipmentFetcher"); const UnitDataFetcher_1 = require("./UnitDataFetcher"); let FetchDateFactory = exports.FetchDateFactory = class FetchDateFactory { constructor(fetchMeasurementData, fetchMeasuringEquipment, fetchMeterType, fetchTypeMeasuringEquipment, fetchUnitData, databaseConnector) { this.fetchMeasurementData = fetchMeasurementData; this.fetchMeasuringEquipment = fetchMeasuringEquipment; this.fetchMeterType = fetchMeterType; this.fetchTypeMeasuringEquipment = fetchTypeMeasuringEquipment; this.fetchUnitData = fetchUnitData; this.databaseConnector = databaseConnector; } async fetchAndSaveData(from, to, authCookie) { const connection = this.databaseConnector.getConnection(); const t = await connection.transaction(); try { await this.fetchMeasurementData.execute(from, to, authCookie, t); await this.fetchMeasuringEquipment.execute(from, to, authCookie, t); await this.fetchMeterType.execute(from, to, authCookie, t); await this.fetchTypeMeasuringEquipment.execute(from, to, authCookie, t); await this.fetchUnitData.execute(from, to, authCookie, t); await t.commit(); } catch (error) { await t.rollback(); throw new golemio_errors_1.GeneralError("Error while saving data FetchXDaysDataTask", this.constructor.name, error); } } }; exports.FetchDateFactory = FetchDateFactory = __decorate([ (0, tsyringe_1.injectable)(), __param(0, (0, tsyringe_1.inject)(ModuleContainer_1.VpalaceContainerToken.MeasurementDataFetcher)), __param(1, (0, tsyringe_1.inject)(ModuleContainer_1.VpalaceContainerToken.MeasuringEquipmentFetcher)), __param(2, (0, tsyringe_1.inject)(ModuleContainer_1.VpalaceContainerToken.MeterTypeFetcher)), __param(3, (0, tsyringe_1.inject)(ModuleContainer_1.VpalaceContainerToken.TypeMeasuringEquipmentFetcher)), __param(4, (0, tsyringe_1.inject)(ModuleContainer_1.VpalaceContainerToken.UnitDataFetcher)), __param(5, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)), __metadata("design:paramtypes", [MeasurementDataFetcher_1.MeasurementDataFetcher, MeasuringEquipmentFetcher_1.MeasuringEquipmentFetcher, MeterTypeFetcher_1.MeterTypeFetcher, TypeMeasuringEquipmentFetcher_1.TypeMeasuringEquipmentFetcher, UnitDataFetcher_1.UnitDataFetcher, Object]) ], FetchDateFactory); //# sourceMappingURL=FetchDateFactory.js.map