@golemio/energetics 1.2.12-dev.1155945469 → 1.2.12-dev.1210136153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/.config.json +3 -0
- package/db/example/00_clear_test_data.sql +1 -0
- package/db/migrations/postgresql/20240304150326-commodity.js +53 -0
- package/db/migrations/postgresql/sqls/20240304150326-commodity-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20240304150326-commodity-up.sql +38 -0
- package/dist/integration-engine/commodity-providers/constants.d.ts +1 -0
- package/dist/integration-engine/commodity-providers/constants.js +5 -0
- package/dist/integration-engine/commodity-providers/constants.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.d.ts +8 -0
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js +34 -0
- package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.d.ts +13 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js +70 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.d.ts +5 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js +3 -0
- package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.d.ts +3 -0
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js +8 -0
- package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.d.ts +13 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js +4 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js +3 -0
- package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.d.ts +11 -0
- package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js +49 -0
- package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.d.ts +3 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js +37 -0
- package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +12 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +16 -0
- package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -0
- package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.d.ts +13 -0
- package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js +67 -0
- package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js.map +1 -0
- package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.d.ts +16 -0
- package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js +80 -0
- package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js.map +1 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +8 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +34 -0
- package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.d.ts +6 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +23 -0
- package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.d.ts +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.d.ts +5 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js +3 -0
- package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.d.ts +4 -0
- package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js +21 -0
- package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.d.ts +5 -0
- package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js +25 -0
- package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.d.ts +6 -0
- package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js +23 -0
- package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.d.ts +14 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +78 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.d.ts +11 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js +69 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js.map +1 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts +26 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +173 -0
- package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -0
- package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js +2 -2
- package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js.map +1 -1
- package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js +2 -2
- package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js.map +1 -1
- package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js +2 -2
- package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js.map +1 -1
- package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js +2 -2
- package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js.map +1 -1
- package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js +2 -2
- package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js.map +1 -1
- package/dist/integration-engine/helpers/UnimonitorCemApiHelper.d.ts +19 -11
- package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js +23 -39
- package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js.map +1 -1
- package/dist/integration-engine/index.js +2 -1
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ioc/Di.js +4 -6
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainer.d.ts +0 -1
- package/dist/integration-engine/ioc/ModuleContainer.js +0 -2
- package/dist/integration-engine/ioc/ModuleContainer.js.map +1 -1
- package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.d.ts +5 -5
- package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js +15 -10
- package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js.map +1 -1
- package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.d.ts +5 -3
- package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js +15 -7
- package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js.map +1 -1
- package/dist/schema-definitions/constants.d.ts +1 -0
- package/dist/schema-definitions/constants.js +5 -0
- package/dist/schema-definitions/constants.js.map +1 -0
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +29 -0
- package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js +15 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js +15 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js +15 -0
- package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.d.ts +4 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.d.ts +4 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js.map +1 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.d.ts +4 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js +3 -0
- package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +13 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js.map +1 -0
- package/dist/schema-definitions/models/MeasurementsModel.d.ts +17 -0
- package/dist/schema-definitions/models/MeasurementsModel.js +56 -0
- package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -0
- package/dist/schema-definitions/models/StaticMeterSettingsModel.d.ts +13 -0
- package/dist/schema-definitions/models/StaticMeterSettingsModel.js +35 -0
- package/dist/schema-definitions/models/StaticMeterSettingsModel.js.map +1 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +4 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +9 -0
- package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -0
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.d.ts +3 -0
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js +8 -0
- package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +10 -0
- package/dist/schema-definitions/models/interfaces/IMeasurementDto.js +3 -0
- package/dist/schema-definitions/models/interfaces/IMeasurementDto.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.d.ts +11 -0
- package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js +4 -0
- package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js.map +1 -0
- package/package.json +2 -1
package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.StaticMeterSettingsRepository = void 0;
|
|
25
|
+
const constants_1 = require("../../../schema-definitions/constants");
|
|
26
|
+
const StaticMeterSettingsModel_1 = require("../../../schema-definitions/models/StaticMeterSettingsModel");
|
|
27
|
+
const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
|
|
28
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
29
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
30
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
31
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
32
|
+
let StaticMeterSettingsRepository = exports.StaticMeterSettingsRepository = class StaticMeterSettingsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
|
|
33
|
+
constructor(connector, logger) {
|
|
34
|
+
super(connector, logger);
|
|
35
|
+
this.schema = constants_1.PG_SCHEMA;
|
|
36
|
+
this.tableName = StaticMeterSettingsModel_1.StaticMeterSettingsModel.tableName;
|
|
37
|
+
this.validator = new golemio_validator_1.JSONSchemaValidator("static_data", StaticMeterSettingsModel_1.StaticMeterSettingsModel.jsonSchema);
|
|
38
|
+
this.sequelizeModel = connector
|
|
39
|
+
.getConnection()
|
|
40
|
+
.define(this.tableName, StaticMeterSettingsModel_1.StaticMeterSettingsModel.attributeModel, { schema: this.schema });
|
|
41
|
+
}
|
|
42
|
+
saveData(provider, resourceType, data) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
try {
|
|
45
|
+
yield this.validator.Validate({ provider, resource_type: resourceType, data });
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
throw new golemio_errors_1.ValidationError("Static data validation error", this.constructor.name, err);
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
yield this.sequelizeModel.upsert({ provider, resource_type: resourceType, data });
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
throw new golemio_errors_1.GeneralError("Static data saving error", this.constructor.name, err);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getData(provider, resourceType) {
|
|
59
|
+
var _a;
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
try {
|
|
62
|
+
const result = yield this.sequelizeModel.findOne({
|
|
63
|
+
attributes: ["data"],
|
|
64
|
+
where: { provider, resource_type: resourceType },
|
|
65
|
+
});
|
|
66
|
+
return (_a = result === null || result === void 0 ? void 0 : result.data) !== null && _a !== void 0 ? _a : null;
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
throw new golemio_errors_1.GeneralError("Static data fetching error", this.constructor.name, err);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.StaticMeterSettingsRepository = StaticMeterSettingsRepository = __decorate([
|
|
75
|
+
(0, tsyringe_1.injectable)(),
|
|
76
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
|
|
77
|
+
__param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
78
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
79
|
+
], StaticMeterSettingsRepository);
|
|
80
|
+
//# sourceMappingURL=StaticMeterSettingsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticMeterSettingsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAA2C;AAC3C,0GAAgF;AAMhF,8IAA2I;AAC3I,wEAAqE;AACrE,6EAAyF;AACzF,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,6DAA6B;IAO5E,YAAiD,SAA6B,EAA4B,MAAe;QACrH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QANtB,WAAM,GAAG,qBAAS,CAAC;QACnB,cAAS,GAAG,mDAAwB,CAAC,SAAS,CAAC;QAMlD,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,aAAa,EAAE,mDAAwB,CAAC,UAAU,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,mDAAwB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IAEY,QAAQ,CACjB,QAA+B,EAC/B,YAAe,EACf,IAAyB;;YAEzB,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;aAClF;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,gCAAe,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACzF;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;aACrF;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAClF;QACL,CAAC;KAAA;IAEY,OAAO,CAChB,QAA+B,EAC/B,YAAe;;;YAEf,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7C,UAAU,EAAE,CAAC,MAAM,CAAC;oBACpB,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE;iBACnD,CAAC,CAAC;gBACH,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,IAAI,CAAC;aAC/B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,4BAA4B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpF;;KACJ;CACJ,CAAA;wCA/CY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAQI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAPhG,6BAA6B,CA+CzC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ICemApiMeasurementDto } from "../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto";
|
|
2
|
+
import { IMeasurementOption } from "../../../schema-definitions/datasources/interfaces/IStaticMeterSettings";
|
|
3
|
+
import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
+
export declare class CemMeasurementTransformation extends AbstractTransformation<IMeasurementOption & ICemApiMeasurementDto, IMeasurementDto> {
|
|
6
|
+
name: string;
|
|
7
|
+
protected transformInternal: (data: IMeasurementOption & ICemApiMeasurementDto) => IMeasurementDto;
|
|
8
|
+
}
|
package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CemMeasurementTransformation = void 0;
|
|
10
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
11
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
12
|
+
const CommodityProviderEnum_1 = require("../datasources/helpers/CommodityProviderEnum");
|
|
13
|
+
let CemMeasurementTransformation = exports.CemMeasurementTransformation = class CemMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.name = "CemMeasurementTransformation";
|
|
17
|
+
this.transformInternal = (data) => {
|
|
18
|
+
return {
|
|
19
|
+
source: CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi,
|
|
20
|
+
measurement_category: data.Name,
|
|
21
|
+
addr: data.Addr,
|
|
22
|
+
meter: data.Meter,
|
|
23
|
+
timestamp: new Date(data.timestamp),
|
|
24
|
+
variable: data.Var,
|
|
25
|
+
type: data.Type,
|
|
26
|
+
value: data.value,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.CemMeasurementTransformation = CemMeasurementTransformation = __decorate([
|
|
32
|
+
(0, tsyringe_1.injectable)()
|
|
33
|
+
], CemMeasurementTransformation);
|
|
34
|
+
//# sourceMappingURL=CemMeasurementTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CemMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAChE,wFAAiF;AAG1E,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,+CAGjD;IAHM;;QAII,SAAI,GAAG,8BAA8B,CAAC;QAEnC,sBAAiB,GAAG,CAAC,IAAgD,EAAmB,EAAE;YAChG,OAAO;gBACH,MAAM,EAAE,yCAAiB,CAAC,gBAAgB;gBAC1C,oBAAoB,EAAE,IAAI,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;uCAlBY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;GACA,4BAA4B,CAkBxC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommodityWorker = void 0;
|
|
4
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const Di_1 = require("../ioc/Di");
|
|
7
|
+
const WorkerContainerToken_1 = require("../ioc/WorkerContainerToken");
|
|
8
|
+
class CommodityWorker extends integration_engine_1.AbstractWorker {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.name = constants_1.WORKER_NAME;
|
|
12
|
+
this.registerTask = (task) => {
|
|
13
|
+
super.registerTask(task);
|
|
14
|
+
task.queuePrefix = this.getQueuePrefix();
|
|
15
|
+
};
|
|
16
|
+
// Register tasks
|
|
17
|
+
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementsFromProvidersTask));
|
|
18
|
+
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementOptionsStaticDataTask));
|
|
19
|
+
this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchVeoliaMeasurementsTask));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.CommodityWorker = CommodityWorker;
|
|
23
|
+
//# sourceMappingURL=CommodityWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommodityWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/workers/CommodityWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AACrF,4CAA2C;AAC3C,kCAA+C;AAC/C,sEAAmE;AAKnE,MAAa,eAAgB,SAAQ,mCAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAuBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QArBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,kCAAkC,CAC1D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,qCAAqC,CAC7D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA8B,2CAAoB,CAAC,2BAA2B,CAAC,CAC5G,CAAC;IACN,CAAC;CAMJ;AA5BD,0CA4BC"}
|
package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataEntrypointParams.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.ts"],"names":[],"mappings":""}
|
package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMeasurementsParams.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
|
|
2
|
+
import { IMeasurementsParams } from "./IMeasurementsParams";
|
|
3
|
+
export interface IVeoliaMeasurementsParams extends IMeasurementsParams {
|
|
4
|
+
providerType: CommodityProviderType.CemApiVeoliaElectro | CommodityProviderType.CemApiVeoliaWater;
|
|
5
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IVeoliaMeasurementsParams.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DataEntrypointValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class DataEntrypointValidationSchema {
|
|
15
|
+
}
|
|
16
|
+
exports.DataEntrypointValidationSchema = DataEntrypointValidationSchema;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsInt)(),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], DataEntrypointValidationSchema.prototype, "targetDays", void 0);
|
|
21
|
+
//# sourceMappingURL=DataEntrypointSchema.js.map
|
package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataEntrypointSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAkE;AAGlE,MAAa,8BAA8B;CAG1C;AAHD,wEAGC;AADG;IADC,IAAA,uBAAK,GAAE;;kEACY"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MeasurementsValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class MeasurementsValidationSchema {
|
|
15
|
+
}
|
|
16
|
+
exports.MeasurementsValidationSchema = MeasurementsValidationSchema;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsISO8601)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], MeasurementsValidationSchema.prototype, "dateFrom", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_validator_1.IsISO8601)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], MeasurementsValidationSchema.prototype, "dateTo", void 0);
|
|
25
|
+
//# sourceMappingURL=MeasurementsSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasurementsSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAsE;AAGtE,MAAa,4BAA4B;CAMxC;AAND,oEAMC;AAJG;IADC,IAAA,2BAAS,GAAE;;8DACM;AAGlB;IADC,IAAA,2BAAS,GAAE;;4DACI"}
|
package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
|
|
2
|
+
import { IVeoliaMeasurementsParams } from "../interfaces/IVeoliaMeasurementsParams";
|
|
3
|
+
import { MeasurementsValidationSchema } from "./MeasurementsSchema";
|
|
4
|
+
export declare class VeoliaMeasurementsValidationSchema extends MeasurementsValidationSchema implements IVeoliaMeasurementsParams {
|
|
5
|
+
providerType: CommodityProviderType.CemApiVeoliaElectro | CommodityProviderType.CemApiVeoliaWater;
|
|
6
|
+
}
|
package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.VeoliaMeasurementsValidationSchema = void 0;
|
|
13
|
+
const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
|
|
14
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
15
|
+
const MeasurementsSchema_1 = require("./MeasurementsSchema");
|
|
16
|
+
class VeoliaMeasurementsValidationSchema extends MeasurementsSchema_1.MeasurementsValidationSchema {
|
|
17
|
+
}
|
|
18
|
+
exports.VeoliaMeasurementsValidationSchema = VeoliaMeasurementsValidationSchema;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsEnum)([CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaElectro, CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater]),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], VeoliaMeasurementsValidationSchema.prototype, "providerType", void 0);
|
|
23
|
+
//# sourceMappingURL=VeoliaMeasurementsSchema.js.map
|
package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VeoliaMeasurementsSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uHAAsF;AACtF,+EAAmE;AAEnE,6DAAoE;AAEpE,MAAa,kCAAmC,SAAQ,iDAA4B;CAGnF;AAHD,gFAGC;AADG;IADC,IAAA,wBAAM,EAAC,CAAC,iDAAqB,CAAC,mBAAmB,EAAE,iDAAqB,CAAC,iBAAiB,CAAC,CAAC;;wEACM"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StaticMeterSettingsDataSourceProvider } from "../../datasources/static-data/StaticMeterSettingsDataSourceProvider";
|
|
2
|
+
import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
|
|
3
|
+
import { ILogger } from "@golemio/core/dist/helpers/logger";
|
|
4
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
5
|
+
export declare class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask {
|
|
6
|
+
private logger;
|
|
7
|
+
private staticDataSourceProvider;
|
|
8
|
+
private meterSettingsRepository;
|
|
9
|
+
readonly queueName = "fetchMeasurementOptionsStaticData";
|
|
10
|
+
readonly queueTtl: number;
|
|
11
|
+
constructor(logger: ILogger, staticDataSourceProvider: StaticMeterSettingsDataSourceProvider, meterSettingsRepository: StaticMeterSettingsRepository);
|
|
12
|
+
protected execute(): Promise<void>;
|
|
13
|
+
private lookupMeasurementsOptionsByKey;
|
|
14
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.FetchMeasurementOptionsStaticDataTask = void 0;
|
|
25
|
+
const constants_1 = require("../../constants");
|
|
26
|
+
const StaticMeterSettingsDataSourceProvider_1 = require("../../datasources/static-data/StaticMeterSettingsDataSourceProvider");
|
|
27
|
+
const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
|
|
28
|
+
const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
|
|
29
|
+
const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
|
|
30
|
+
const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
|
|
31
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
32
|
+
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
33
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
34
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
35
|
+
const optionLookupKeys = {
|
|
36
|
+
[CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater]: "CemWaterOptions",
|
|
37
|
+
[CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaElectro]: "CemElectroOptions",
|
|
38
|
+
};
|
|
39
|
+
let FetchMeasurementOptionsStaticDataTask = exports.FetchMeasurementOptionsStaticDataTask = class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
40
|
+
constructor(logger, staticDataSourceProvider, meterSettingsRepository) {
|
|
41
|
+
super(constants_1.WORKER_NAME);
|
|
42
|
+
this.logger = logger;
|
|
43
|
+
this.staticDataSourceProvider = staticDataSourceProvider;
|
|
44
|
+
this.meterSettingsRepository = meterSettingsRepository;
|
|
45
|
+
this.queueName = "fetchMeasurementOptionsStaticData";
|
|
46
|
+
this.queueTtl = 59 * 60 * 1000; // 59min
|
|
47
|
+
}
|
|
48
|
+
execute() {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const dataSource = this.staticDataSourceProvider.getDataSource();
|
|
51
|
+
const meterSettings = yield dataSource.getAll();
|
|
52
|
+
for (const [commodityProvider, key] of Object.entries(optionLookupKeys)) {
|
|
53
|
+
const options = this.lookupMeasurementsOptionsByKey(meterSettings, key);
|
|
54
|
+
if (options.length === 0) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
this.logger.info(`Fetched ${options.length} measurement options for ${commodityProvider}`);
|
|
58
|
+
yield this.meterSettingsRepository.saveData(commodityProvider, StaticDataResourceTypeEnum_1.StaticDataResourceType.MeasurementOptions, options);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
lookupMeasurementsOptionsByKey(meterSettings, key) {
|
|
63
|
+
const settings = meterSettings[key];
|
|
64
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.MeasurementOptions)) {
|
|
65
|
+
throw new golemio_errors_1.GeneralError(`No measurements options found for key: ${key}`);
|
|
66
|
+
}
|
|
67
|
+
return settings === null || settings === void 0 ? void 0 : settings.MeasurementOptions;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.FetchMeasurementOptionsStaticDataTask = FetchMeasurementOptionsStaticDataTask = __decorate([
|
|
71
|
+
(0, tsyringe_1.injectable)(),
|
|
72
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
73
|
+
__param(1, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsDataSourceProvider)),
|
|
74
|
+
__param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
|
|
75
|
+
__metadata("design:paramtypes", [Object, StaticMeterSettingsDataSourceProvider_1.StaticMeterSettingsDataSourceProvider,
|
|
76
|
+
StaticMeterSettingsRepository_1.StaticMeterSettingsRepository])
|
|
77
|
+
], FetchMeasurementOptionsStaticDataTask);
|
|
78
|
+
//# sourceMappingURL=FetchMeasurementOptionsStaticDataTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CACnE,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { IDataEntrypointParams } from "../interfaces/IDataEntrypointParams";
|
|
3
|
+
import { DataEntrypointValidationSchema } from "../schema/DataEntrypointSchema";
|
|
4
|
+
export declare class FetchMeasurementsFromProvidersTask extends AbstractTask<IDataEntrypointParams> {
|
|
5
|
+
readonly queueName = "fetchMeasurementsFromProviders";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof DataEntrypointValidationSchema;
|
|
8
|
+
constructor();
|
|
9
|
+
execute(data: IDataEntrypointParams): Promise<void>;
|
|
10
|
+
private generateDateParams;
|
|
11
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.FetchMeasurementsFromProvidersTask = void 0;
|
|
22
|
+
const constants_1 = require("../../constants");
|
|
23
|
+
const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
|
|
24
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
25
|
+
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
26
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
27
|
+
const DataEntrypointSchema_1 = require("../schema/DataEntrypointSchema");
|
|
28
|
+
let FetchMeasurementsFromProvidersTask = exports.FetchMeasurementsFromProvidersTask = class FetchMeasurementsFromProvidersTask extends integration_engine_1.AbstractTask {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(constants_1.WORKER_NAME);
|
|
31
|
+
this.queueName = "fetchMeasurementsFromProviders";
|
|
32
|
+
this.queueTtl = 60 * 60 * 1000;
|
|
33
|
+
this.schema = DataEntrypointSchema_1.DataEntrypointValidationSchema;
|
|
34
|
+
}
|
|
35
|
+
execute(data) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
for (const { dateFrom, dateTo } of this.generateDateParams(data)) {
|
|
38
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchVeoliaMeasurements", {
|
|
39
|
+
providerType: CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater,
|
|
40
|
+
dateFrom,
|
|
41
|
+
dateTo,
|
|
42
|
+
});
|
|
43
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchVeoliaMeasurements", {
|
|
44
|
+
providerType: CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaElectro,
|
|
45
|
+
dateFrom,
|
|
46
|
+
dateTo,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
*generateDateParams(data) {
|
|
52
|
+
const currentDate = luxon_1.DateTime.now().startOf("day");
|
|
53
|
+
const leftBoundDate = currentDate.minus({ days: data.targetDays });
|
|
54
|
+
const intervals = luxon_1.Interval.fromDateTimes(leftBoundDate, currentDate.plus({ days: 1 })).splitBy({ months: 1 });
|
|
55
|
+
for (const interval of intervals) {
|
|
56
|
+
const start = interval.start.startOf("day");
|
|
57
|
+
const end = interval.end.startOf("day");
|
|
58
|
+
yield {
|
|
59
|
+
dateFrom: start.toISODate(),
|
|
60
|
+
dateTo: end.toISODate(),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.FetchMeasurementsFromProvidersTask = FetchMeasurementsFromProvidersTask = __decorate([
|
|
66
|
+
(0, tsyringe_1.injectable)(),
|
|
67
|
+
__metadata("design:paramtypes", [])
|
|
68
|
+
], FetchMeasurementsFromProvidersTask);
|
|
69
|
+
//# sourceMappingURL=FetchMeasurementsFromProvidersTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchMeasurementsFromProvidersTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsF;AACtF,8EAAmF;AACnF,2DAAqE;AACrE,iEAAgE;AAGhE,yEAAgF;AAGzE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,iCAAmC;IAKvF;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QALP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,qDAA8B,CAAC;IAIxD,CAAC;IAEY,OAAO,CAAC,IAA2B;;YAC5C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9D,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,iBAAiB;oBACrD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,mBAAmB;oBACvD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEO,CAAC,kBAAkB,CAAC,IAA2B;QACnD,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;aAC1B,CAAC;SACL;IACL,CAAC;CACJ,CAAA;6CAxCY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;;GACA,kCAAkC,CAwC9C"}
|
package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ICommodityProviderDataSourceFactory } from "../../datasources/interfaces/ICommodityProviderDataSourceFactory";
|
|
2
|
+
import { MeasurementRepository } from "../../repositories/MeasurementRepository";
|
|
3
|
+
import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
|
|
4
|
+
import { CemMeasurementTransformation } from "../../transformations/CemMeasurementTransformation";
|
|
5
|
+
import { ILogger } from "@golemio/core/dist/helpers";
|
|
6
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
7
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
8
|
+
import { IVeoliaMeasurementsParams } from "../interfaces/IVeoliaMeasurementsParams";
|
|
9
|
+
import { VeoliaMeasurementsValidationSchema } from "../schema/VeoliaMeasurementsSchema";
|
|
10
|
+
export declare class FetchVeoliaMeasurementsTask extends AbstractTask<IVeoliaMeasurementsParams> {
|
|
11
|
+
private config;
|
|
12
|
+
private logger;
|
|
13
|
+
private dataSourceFactory;
|
|
14
|
+
private measurementTransformation;
|
|
15
|
+
private measurementRepository;
|
|
16
|
+
private meterSettingsRepository;
|
|
17
|
+
readonly queueName = "fetchVeoliaMeasurements";
|
|
18
|
+
readonly queueTtl: number;
|
|
19
|
+
readonly schema: typeof VeoliaMeasurementsValidationSchema;
|
|
20
|
+
constructor(config: ISimpleConfig, logger: ILogger, dataSourceFactory: ICommodityProviderDataSourceFactory, measurementTransformation: CemMeasurementTransformation, measurementRepository: MeasurementRepository, meterSettingsRepository: StaticMeterSettingsRepository);
|
|
21
|
+
execute(data: IVeoliaMeasurementsParams): Promise<void>;
|
|
22
|
+
private getProviderConfig;
|
|
23
|
+
private generateMeasurements;
|
|
24
|
+
private getDataFromDataSource;
|
|
25
|
+
private saveConsumptionData;
|
|
26
|
+
}
|