@golemio/energetics 1.2.11 → 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.
Files changed (146) hide show
  1. package/db/example/.config.json +3 -0
  2. package/db/example/00_clear_test_data.sql +1 -0
  3. package/db/migrations/postgresql/20240304150326-commodity.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240304150326-commodity-down.sql +2 -0
  5. package/db/migrations/postgresql/sqls/20240304150326-commodity-up.sql +38 -0
  6. package/dist/integration-engine/commodity-providers/constants.d.ts +1 -0
  7. package/dist/integration-engine/commodity-providers/constants.js +5 -0
  8. package/dist/integration-engine/commodity-providers/constants.js.map +1 -0
  9. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.d.ts +8 -0
  10. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js +34 -0
  11. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js.map +1 -0
  12. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.d.ts +13 -0
  13. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js +70 -0
  14. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js.map +1 -0
  15. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.d.ts +5 -0
  16. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js +3 -0
  17. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js.map +1 -0
  18. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.d.ts +3 -0
  19. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js +8 -0
  20. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map +1 -0
  21. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.d.ts +13 -0
  22. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js +4 -0
  23. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js.map +1 -0
  24. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.d.ts +4 -0
  25. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js +3 -0
  26. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js.map +1 -0
  27. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.d.ts +11 -0
  28. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js +49 -0
  29. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js.map +1 -0
  30. package/dist/integration-engine/commodity-providers/ioc/Di.d.ts +3 -0
  31. package/dist/integration-engine/commodity-providers/ioc/Di.js +37 -0
  32. package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -0
  33. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +12 -0
  34. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +16 -0
  35. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -0
  36. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.d.ts +13 -0
  37. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js +67 -0
  38. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js.map +1 -0
  39. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.d.ts +16 -0
  40. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js +80 -0
  41. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js.map +1 -0
  42. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +8 -0
  43. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +34 -0
  44. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -0
  45. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.d.ts +6 -0
  46. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +23 -0
  47. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -0
  48. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.d.ts +3 -0
  49. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js +3 -0
  50. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js.map +1 -0
  51. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.d.ts +4 -0
  52. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js +3 -0
  53. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js.map +1 -0
  54. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.d.ts +5 -0
  55. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js +3 -0
  56. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js.map +1 -0
  57. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.d.ts +4 -0
  58. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js +21 -0
  59. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js.map +1 -0
  60. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.d.ts +5 -0
  61. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js +25 -0
  62. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js.map +1 -0
  63. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.d.ts +6 -0
  64. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js +23 -0
  65. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js.map +1 -0
  66. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.d.ts +14 -0
  67. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +78 -0
  68. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -0
  69. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.d.ts +11 -0
  70. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js +69 -0
  71. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js.map +1 -0
  72. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts +26 -0
  73. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +173 -0
  74. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -0
  75. package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js +2 -2
  76. package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js.map +1 -1
  77. package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js +2 -2
  78. package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js.map +1 -1
  79. package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js +2 -2
  80. package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js.map +1 -1
  81. package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js +2 -2
  82. package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js.map +1 -1
  83. package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js +2 -2
  84. package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js.map +1 -1
  85. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.d.ts +19 -11
  86. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js +23 -39
  87. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js.map +1 -1
  88. package/dist/integration-engine/index.js +2 -1
  89. package/dist/integration-engine/index.js.map +1 -1
  90. package/dist/integration-engine/ioc/Di.js +4 -6
  91. package/dist/integration-engine/ioc/Di.js.map +1 -1
  92. package/dist/integration-engine/ioc/ModuleContainer.d.ts +0 -1
  93. package/dist/integration-engine/ioc/ModuleContainer.js +0 -2
  94. package/dist/integration-engine/ioc/ModuleContainer.js.map +1 -1
  95. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.d.ts +5 -5
  96. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js +15 -10
  97. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js.map +1 -1
  98. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.d.ts +5 -3
  99. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js +15 -7
  100. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js.map +1 -1
  101. package/dist/schema-definitions/constants.d.ts +1 -0
  102. package/dist/schema-definitions/constants.js +5 -0
  103. package/dist/schema-definitions/constants.js.map +1 -0
  104. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.d.ts +3 -0
  105. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +29 -0
  106. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -0
  107. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.d.ts +3 -0
  108. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js +15 -0
  109. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js.map +1 -0
  110. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.d.ts +3 -0
  111. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js +15 -0
  112. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js.map +1 -0
  113. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.d.ts +3 -0
  114. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js +15 -0
  115. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js.map +1 -0
  116. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.d.ts +4 -0
  117. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js +3 -0
  118. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js.map +1 -0
  119. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.d.ts +4 -0
  120. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js +3 -0
  121. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js.map +1 -0
  122. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.d.ts +4 -0
  123. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js +3 -0
  124. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js.map +1 -0
  125. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +13 -0
  126. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js +3 -0
  127. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js.map +1 -0
  128. package/dist/schema-definitions/models/MeasurementsModel.d.ts +17 -0
  129. package/dist/schema-definitions/models/MeasurementsModel.js +56 -0
  130. package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -0
  131. package/dist/schema-definitions/models/StaticMeterSettingsModel.d.ts +13 -0
  132. package/dist/schema-definitions/models/StaticMeterSettingsModel.js +35 -0
  133. package/dist/schema-definitions/models/StaticMeterSettingsModel.js.map +1 -0
  134. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +4 -0
  135. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +9 -0
  136. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -0
  137. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.d.ts +3 -0
  138. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js +8 -0
  139. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js.map +1 -0
  140. package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +10 -0
  141. package/dist/schema-definitions/models/interfaces/IMeasurementDto.js +3 -0
  142. package/dist/schema-definitions/models/interfaces/IMeasurementDto.js.map +1 -0
  143. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.d.ts +11 -0
  144. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js +4 -0
  145. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js.map +1 -0
  146. package/package.json +2 -1
@@ -0,0 +1,3 @@
1
+ {
2
+ "schema": "energetics"
3
+ }
@@ -0,0 +1 @@
1
+ truncate consumption_energy_measurements;
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20240304150326-commodity-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20240304150326-commodity-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,2 @@
1
+ drop table commodity_static_meter_settings;
2
+ drop table consumption_energy_measurements;
@@ -0,0 +1,38 @@
1
+ create table commodity_static_meter_settings (
2
+ "provider" varchar(30) not null,
3
+ resource_type varchar(30) not null,
4
+ "data" json not null,
5
+
6
+ -- audit fields
7
+ create_batch_id bigint,
8
+ created_at timestamp with time zone,
9
+ created_by character varying(150),
10
+ update_batch_id bigint,
11
+ updated_at timestamp with time zone,
12
+ updated_by character varying(150),
13
+
14
+ constraint static_data_pk primary key ("provider", resource_type)
15
+ );
16
+
17
+ COMMENT ON COLUMN commodity_static_meter_settings."data" IS 'Mapovací JSONy pro měřidla podle provideru (např Veolia vodoměry)';
18
+
19
+ CREATE TABLE consumption_energy_measurements (
20
+ "timestamp" timestamptz NOT NULL,
21
+ value numeric(30, 15) NOT NULL,
22
+ addr varchar(255) NOT NULL,
23
+ var varchar(255) NOT NULL,
24
+ "type" varchar(255) NULL,
25
+ meter varchar(255) NOT NULL,
26
+ "source" varchar(20) NULL,
27
+ measurement_category varchar(50) NULL,
28
+ create_batch_id int8 NULL,
29
+ created_at timestamp NULL,
30
+ created_by varchar(150) NULL,
31
+ update_batch_id int8 NULL,
32
+ updated_at timestamp NULL,
33
+ updated_by varchar(150) NULL,
34
+ CONSTRAINT consumption_energy_measurements_pkey PRIMARY KEY ("timestamp", addr, var, meter)
35
+ );
36
+
37
+ create index consumption_energy_measurements_source_idx on consumption_energy_measurements (source);
38
+ create index consumption_energy_measurements_measurement_category_idx on consumption_energy_measurements (measurement_category);
@@ -0,0 +1 @@
1
+ export declare const WORKER_NAME = "EnergeticsCommodity";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WORKER_NAME = void 0;
4
+ exports.WORKER_NAME = "EnergeticsCommodity";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/integration-engine/commodity-providers/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { CommodityProvider } from "./helpers/CommodityProviderEnum";
2
+ import { DataSourceProviderDict, DataSourceReturnType, ICommodityProviderDataSourceFactory } from "./interfaces/ICommodityProviderDataSourceFactory";
3
+ import { IDataSourceProvider } from "./interfaces/IDataSourceProvider";
4
+ export declare class CommodityProviderDataSourceFactory implements ICommodityProviderDataSourceFactory {
5
+ private readonly dataSourceProviderDict;
6
+ constructor(cemApiDataSourceProvider: IDataSourceProvider<any[]>);
7
+ getDataSource<T extends CommodityProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>;
8
+ }
@@ -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
+ 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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CommodityProviderDataSourceFactory = void 0;
16
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
17
+ const WorkerContainerToken_1 = require("../ioc/WorkerContainerToken");
18
+ const CommodityProviderEnum_1 = require("./helpers/CommodityProviderEnum");
19
+ let CommodityProviderDataSourceFactory = exports.CommodityProviderDataSourceFactory = class CommodityProviderDataSourceFactory {
20
+ constructor(cemApiDataSourceProvider) {
21
+ this.dataSourceProviderDict = {
22
+ [CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi]: cemApiDataSourceProvider,
23
+ };
24
+ }
25
+ getDataSource(presetLogsProvider, ...params) {
26
+ return this.dataSourceProviderDict[presetLogsProvider].getDataSource(...params);
27
+ }
28
+ };
29
+ exports.CommodityProviderDataSourceFactory = CommodityProviderDataSourceFactory = __decorate([
30
+ (0, tsyringe_1.injectable)(),
31
+ __param(0, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.CemApiDataSourceProvider)),
32
+ __metadata("design:paramtypes", [Object])
33
+ ], CommodityProviderDataSourceFactory);
34
+ //# sourceMappingURL=CommodityProviderDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,sEAAmE;AACnE,2EAAoE;AAS7D,IAAM,kCAAkC,gDAAxC,MAAM,kCAAkC;IAG3C,YAEI,wBAAoD;QAEpD,IAAI,CAAC,sBAAsB,GAAG;YAC1B,CAAC,yCAAiB,CAAC,gBAAgB,CAAC,EAAE,wBAAwB;SACjE,CAAC;IACN,CAAC;IAEM,aAAa,CAChB,kBAAqB,EACrB,GAAG,MAA8D;QAEjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAA4B,CAAC;IAC/G,CAAC;CACJ,CAAA;6CAlBY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,wBAAwB,CAAC,CAAA;;GAJjD,kCAAkC,CAkB9C"}
@@ -0,0 +1,13 @@
1
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
2
+ import { IDataSource } from "@golemio/core/dist/integration-engine";
3
+ import { CemApiDtoUnion } from "../interfaces/ICommodityProviderDataSourceFactory";
4
+ import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
5
+ import { ICemApiMeasurementsParams } from "./interfaces/ICemApiMeasurementsParams";
6
+ export declare class CemApiDataSourceProvider implements IDataSourceProvider<CemApiDtoUnion[]> {
7
+ private config;
8
+ private static readonly DATASOURCE_NAME;
9
+ constructor(config: ISimpleConfig);
10
+ getDataSource(resourceType: string, authCookie: string, params?: ICemApiMeasurementsParams): IDataSource<CemApiDtoUnion[]>;
11
+ private getProtocolStrategy;
12
+ private getJsonSchemaValidator;
13
+ }
@@ -0,0 +1,70 @@
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 CemApiDataSourceProvider_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CemApiDataSourceProvider = void 0;
17
+ const helpers_1 = require("../../../helpers");
18
+ const CemApiCountersJsonSchema_1 = require("../../../../schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema");
19
+ const CemApiDevicesJsonSchema_1 = require("../../../../schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema");
20
+ const CemApiMeasurementsJsonSchema_1 = require("../../../../schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema");
21
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
22
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
23
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
24
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
25
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
26
+ let CemApiDataSourceProvider = exports.CemApiDataSourceProvider = CemApiDataSourceProvider_1 = class CemApiDataSourceProvider {
27
+ constructor(config) {
28
+ this.config = config;
29
+ }
30
+ getDataSource(resourceType, authCookie, params) {
31
+ const baseUrl = this.config.getValue("module.UnimonitorCemApiEnergetics.url");
32
+ const url = new URL(baseUrl);
33
+ url.searchParams.append("id", resourceType);
34
+ if (params) {
35
+ url.searchParams.append("var_id", params.counterId.toString());
36
+ url.searchParams.append("from", params.dateFrom);
37
+ url.searchParams.append("to", params.dateTo);
38
+ }
39
+ return new integration_engine_1.DataSource(CemApiDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url, authCookie), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), this.getJsonSchemaValidator(resourceType));
40
+ }
41
+ getProtocolStrategy(url, authCookie) {
42
+ return new integration_engine_1.HTTPProtocolStrategy({
43
+ headers: {
44
+ Cookie: authCookie,
45
+ },
46
+ method: "GET",
47
+ timeout: 20000,
48
+ url: url.toString(),
49
+ });
50
+ }
51
+ getJsonSchemaValidator(resourceType) {
52
+ switch (resourceType) {
53
+ case helpers_1.UnimonitorCemApiHelper.resourceType.Devices:
54
+ return new golemio_validator_1.JSONSchemaValidator(CemApiDataSourceProvider_1.DATASOURCE_NAME + "Devices", CemApiDevicesJsonSchema_1.cemApiDevicesJsonSchema);
55
+ case helpers_1.UnimonitorCemApiHelper.resourceType.Counters:
56
+ return new golemio_validator_1.JSONSchemaValidator(CemApiDataSourceProvider_1.DATASOURCE_NAME + "Counters", CemApiCountersJsonSchema_1.cemApiCountersJsonSchema);
57
+ case helpers_1.UnimonitorCemApiHelper.resourceType.MeasurementsByCounter:
58
+ return new golemio_validator_1.JSONSchemaValidator(CemApiDataSourceProvider_1.DATASOURCE_NAME + "Measurements", CemApiMeasurementsJsonSchema_1.cemApiMeasurementsJsonSchema);
59
+ default:
60
+ throw new golemio_errors_1.GeneralError(`Unknown resource type: ${resourceType}`, CemApiDataSourceProvider_1.name);
61
+ }
62
+ }
63
+ };
64
+ CemApiDataSourceProvider.DATASOURCE_NAME = "CemApiDataSource";
65
+ exports.CemApiDataSourceProvider = CemApiDataSourceProvider = CemApiDataSourceProvider_1 = __decorate([
66
+ (0, tsyringe_1.injectable)(),
67
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
68
+ __metadata("design:paramtypes", [Object])
69
+ ], CemApiDataSourceProvider);
70
+ //# sourceMappingURL=CemApiDataSourceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CemApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAqD;AACrD,sIAAyG;AACzG,oIAAuG;AACvG,8IAAiH;AAEjH,wEAAqE;AACrE,8EAA4H;AAC5H,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AAMjE,IAAM,wBAAwB,mEAA9B,MAAM,wBAAwB;IAGjC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa,CAChB,YAAoB,EACpB,UAAkB,EAClB,MAAkC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,uCAAuC,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE5C,IAAI,MAAM,EAAE;YACR,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAChD;QAED,OAAO,IAAI,+BAAU,CACjB,0BAAwB,CAAC,eAAe,EACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,EACzC,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAC5C,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,GAAQ,EAAE,UAAkB;QACpD,OAAO,IAAI,yCAAoB,CAAC;YAC5B,OAAO,EAAE;gBACL,MAAM,EAAE,UAAU;aACrB;YACD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;SACtB,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QAC/C,QAAQ,YAAY,EAAE;YAClB,KAAK,gCAAsB,CAAC,YAAY,CAAC,OAAO;gBAC5C,OAAO,IAAI,uCAAmB,CAAC,0BAAwB,CAAC,eAAe,GAAG,SAAS,EAAE,iDAAuB,CAAC,CAAC;YAClH,KAAK,gCAAsB,CAAC,YAAY,CAAC,QAAQ;gBAC7C,OAAO,IAAI,uCAAmB,CAAC,0BAAwB,CAAC,eAAe,GAAG,UAAU,EAAE,mDAAwB,CAAC,CAAC;YACpH,KAAK,gCAAsB,CAAC,YAAY,CAAC,qBAAqB;gBAC1D,OAAO,IAAI,uCAAmB,CAC1B,0BAAwB,CAAC,eAAe,GAAG,cAAc,EACzD,2DAA4B,CAC/B,CAAC;YACN;gBACI,MAAM,IAAI,6BAAY,CAAC,0BAA0B,YAAY,EAAE,EAAE,0BAAwB,CAAC,IAAI,CAAC,CAAC;SACvG;IACL,CAAC;;AApDuB,wCAAe,GAAG,kBAAkB,AAArB,CAAsB;mCADpD,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,wBAAwB,CAsDpC"}
@@ -0,0 +1,5 @@
1
+ export interface ICemApiMeasurementsParams {
2
+ counterId: number;
3
+ dateFrom: string;
4
+ dateTo: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICemApiMeasurementsParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICemApiMeasurementsParams.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare enum CommodityProvider {
2
+ UnimonitorCemApi = "cem_api"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommodityProvider = void 0;
4
+ var CommodityProvider;
5
+ (function (CommodityProvider) {
6
+ CommodityProvider["UnimonitorCemApi"] = "cem_api";
7
+ })(CommodityProvider || (exports.CommodityProvider = CommodityProvider = {}));
8
+ //# sourceMappingURL=CommodityProviderEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommodityProviderEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IACzB,iDAA4B,CAAA;AAChC,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B"}
@@ -0,0 +1,13 @@
1
+ import { ICemApiCounterDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto";
2
+ import { ICemApiDeviceDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto";
3
+ import { ICemApiMeasurementDto } from "../../../../schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto";
4
+ import { CommodityProvider } from "../helpers/CommodityProviderEnum";
5
+ import { IDataSourceProvider } from "./IDataSourceProvider";
6
+ export type CemApiDtoUnion = ICemApiDeviceDto | ICemApiCounterDto | ICemApiMeasurementDto;
7
+ export type DataSourceProviderDict = {
8
+ [CommodityProvider.UnimonitorCemApi]: IDataSourceProvider<CemApiDtoUnion[]>;
9
+ };
10
+ export type DataSourceReturnType<T extends CommodityProvider> = ReturnType<DataSourceProviderDict[T]["getDataSource"]>;
11
+ export interface ICommodityProviderDataSourceFactory {
12
+ getDataSource<T extends CommodityProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>;
13
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const CommodityProviderEnum_1 = require("../helpers/CommodityProviderEnum");
4
+ //# sourceMappingURL=ICommodityProviderDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICommodityProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.ts"],"names":[],"mappings":";;AAGA,4EAAqE"}
@@ -0,0 +1,4 @@
1
+ import { IDataSource } from "@golemio/core/dist/integration-engine/datasources";
2
+ export interface IDataSourceProvider<T> {
3
+ getDataSource: (...args: any[]) => IDataSource<T>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDataSourceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IStaticMeterSettings } from "../../../../schema-definitions/datasources/interfaces/IStaticMeterSettings";
2
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
+ import { IDataSource } from "@golemio/core/dist/integration-engine";
4
+ import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
5
+ export declare class StaticMeterSettingsDataSourceProvider implements IDataSourceProvider<IStaticMeterSettings> {
6
+ private config;
7
+ private static readonly DATASOURCE_NAME;
8
+ constructor(config: ISimpleConfig);
9
+ getDataSource(): IDataSource<IStaticMeterSettings>;
10
+ private getProtocolStrategy;
11
+ }
@@ -0,0 +1,49 @@
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 StaticMeterSettingsDataSourceProvider_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.StaticMeterSettingsDataSourceProvider = void 0;
17
+ const StaticMeterSettingsJsonSchema_1 = require("../../../../schema-definitions/datasources/StaticMeterSettingsJsonSchema");
18
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
19
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
20
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
+ let StaticMeterSettingsDataSourceProvider = exports.StaticMeterSettingsDataSourceProvider = StaticMeterSettingsDataSourceProvider_1 = class StaticMeterSettingsDataSourceProvider {
23
+ constructor(config) {
24
+ this.config = config;
25
+ }
26
+ getDataSource() {
27
+ const baseUrl = this.config.getValue("module.energetics.commodityProviders.staticData.baseUrl");
28
+ const urlPath = this.config.getValue("module.energetics.commodityProviders.staticData.metersettings.path");
29
+ const url = new URL(urlPath, baseUrl);
30
+ return new integration_engine_1.DataSource(StaticMeterSettingsDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(StaticMeterSettingsDataSourceProvider_1.DATASOURCE_NAME, StaticMeterSettingsJsonSchema_1.staticMeterSettingsJsonSchema));
31
+ }
32
+ getProtocolStrategy(url) {
33
+ return new integration_engine_1.HTTPProtocolStrategy({
34
+ headers: {
35
+ Accept: "application/json",
36
+ },
37
+ method: "GET",
38
+ timeout: 20000,
39
+ url: url.toString(),
40
+ });
41
+ }
42
+ };
43
+ StaticMeterSettingsDataSourceProvider.DATASOURCE_NAME = "StaticMeterSettings";
44
+ exports.StaticMeterSettingsDataSourceProvider = StaticMeterSettingsDataSourceProvider = StaticMeterSettingsDataSourceProvider_1 = __decorate([
45
+ (0, tsyringe_1.injectable)(),
46
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
47
+ __metadata("design:paramtypes", [Object])
48
+ ], StaticMeterSettingsDataSourceProvider);
49
+ //# sourceMappingURL=StaticMeterSettingsDataSourceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMeterSettingsDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4HAA+F;AAG/F,wEAAqE;AACrE,8EAA4H;AAC5H,mFAAkF;AAClF,iEAAwE;AAIjE,IAAM,qCAAqC,6FAA3C,MAAM,qCAAqC;IAG9C,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,yDAAyD,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,oEAAoE,CAAC,CAAC;QACnH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtC,OAAO,IAAI,+BAAU,CACjB,uCAAqC,CAAC,eAAe,EACrD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAC7B,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,uCAAqC,CAAC,eAAe,EAAE,6DAA6B,CAAC,CAChH,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,GAAQ;QAChC,OAAO,IAAI,yCAAoB,CAAC;YAC5B,OAAO,EAAE;gBACL,MAAM,EAAE,kBAAkB;aAC7B;YACD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;SACtB,CAAC,CAAC;IACP,CAAC;;AA1BuB,qDAAe,GAAG,qBAAqB,AAAxB,CAAyB;gDADvD,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,qCAAqC,CA4BjD"}
@@ -0,0 +1,3 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const CommodityContainer: DependencyContainer;
3
+ export { CommodityContainer };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommodityContainer = void 0;
4
+ const CommodityProviderDataSourceFactory_1 = require("../datasources/CommodityProviderDataSourceFactory");
5
+ const CemApiDataSourceProvider_1 = require("../datasources/cem-api/CemApiDataSourceProvider");
6
+ const StaticMeterSettingsDataSourceProvider_1 = require("../datasources/static-data/StaticMeterSettingsDataSourceProvider");
7
+ const MeasurementRepository_1 = require("../repositories/MeasurementRepository");
8
+ const CemMeasurementTransformation_1 = require("../transformations/CemMeasurementTransformation");
9
+ const FetchMeasurementOptionsStaticDataTask_1 = require("../workers/tasks/FetchMeasurementOptionsStaticDataTask");
10
+ const FetchVeoliaMeasurementsTask_1 = require("../workers/tasks/FetchVeoliaMeasurementsTask");
11
+ const Di_1 = require("../../ioc/Di");
12
+ const StaticMeterSettingsRepository_1 = require("../repositories/StaticMeterSettingsRepository");
13
+ const FetchMeasurementsFromProvidersTask_1 = require("../workers/tasks/FetchMeasurementsFromProvidersTask");
14
+ const WorkerContainerToken_1 = require("./WorkerContainerToken");
15
+ //#region Initialization
16
+ const CommodityContainer = Di_1.VPalaceContainer.createChildContainer();
17
+ exports.CommodityContainer = CommodityContainer;
18
+ //#endregion
19
+ //#region Datasource
20
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.CemApiDataSourceProvider, CemApiDataSourceProvider_1.CemApiDataSourceProvider);
21
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
22
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsDataSourceProvider, StaticMeterSettingsDataSourceProvider_1.StaticMeterSettingsDataSourceProvider);
23
+ //#endregion
24
+ //#region Repositories
25
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository, MeasurementRepository_1.MeasurementRepository);
26
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository, StaticMeterSettingsRepository_1.StaticMeterSettingsRepository);
27
+ //#endregion
28
+ //#region Transformation
29
+ CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.CemMeasurementTransformation, CemMeasurementTransformation_1.CemMeasurementTransformation);
30
+ //#endregion
31
+ //#region Factory
32
+ //#endregion
33
+ //#region Tasks
34
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementsFromProvidersTask, FetchMeasurementsFromProvidersTask_1.FetchMeasurementsFromProvidersTask);
35
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchVeoliaMeasurementsTask, FetchVeoliaMeasurementsTask_1.FetchVeoliaMeasurementsTask);
36
+ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementOptionsStaticDataTask, FetchMeasurementOptionsStaticDataTask_1.FetchMeasurementOptionsStaticDataTask);
37
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAE9C,iGAA8F;AAC9F,4GAAyG;AACzG,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,qBAAgB,CAAC,oBAAoB,EAAE,CAAC;AA2B/E,gDAAkB;AA1B3B,YAAY;AAEZ,oBAAoB;AACpB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACrG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,wBAAwB;AACxB,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,YAAY;AAEZ,iBAAiB;AACjB,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ declare const WorkerContainerToken: {
2
+ CemApiDataSourceProvider: symbol;
3
+ CommodityProviderDataSourceFactory: symbol;
4
+ StaticMeterSettingsDataSourceProvider: symbol;
5
+ CemMeasurementTransformation: symbol;
6
+ MeasurementRepository: symbol;
7
+ StaticMeterSettingsRepository: symbol;
8
+ FetchMeasurementsFromProvidersTask: symbol;
9
+ FetchVeoliaMeasurementsTask: symbol;
10
+ FetchMeasurementOptionsStaticDataTask: symbol;
11
+ };
12
+ export { WorkerContainerToken };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkerContainerToken = void 0;
4
+ const WorkerContainerToken = {
5
+ CemApiDataSourceProvider: Symbol(),
6
+ CommodityProviderDataSourceFactory: Symbol(),
7
+ StaticMeterSettingsDataSourceProvider: Symbol(),
8
+ CemMeasurementTransformation: Symbol(),
9
+ MeasurementRepository: Symbol(),
10
+ StaticMeterSettingsRepository: Symbol(),
11
+ FetchMeasurementsFromProvidersTask: Symbol(),
12
+ FetchVeoliaMeasurementsTask: Symbol(),
13
+ FetchMeasurementOptionsStaticDataTask: Symbol(),
14
+ };
15
+ exports.WorkerContainerToken = WorkerContainerToken;
16
+ //# sourceMappingURL=WorkerContainerToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,2BAA2B,EAAE,MAAM,EAAE;IACrC,qCAAqC,EAAE,MAAM,EAAE;CAClD,CAAC;AAEO,oDAAoB"}
@@ -0,0 +1,13 @@
1
+ import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
2
+ import { ILogger } from "@golemio/core/dist/helpers";
3
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
4
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
5
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
6
+ export declare class MeasurementRepository extends AbstractValidatableRepository {
7
+ validator: JSONSchemaValidator;
8
+ schema: string;
9
+ tableName: string;
10
+ private sequelizeModel;
11
+ constructor(connector: IDatabaseConnector, logger: ILogger);
12
+ bulkSave(data: IMeasurementDto[]): Promise<void>;
13
+ }
@@ -0,0 +1,67 @@
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.MeasurementRepository = void 0;
25
+ const constants_1 = require("../../../schema-definitions/constants");
26
+ const MeasurementsModel_1 = require("../../../schema-definitions/models/MeasurementsModel");
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 MeasurementRepository = exports.MeasurementRepository = class MeasurementRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
33
+ constructor(connector, logger) {
34
+ super(connector, logger);
35
+ this.schema = constants_1.PG_SCHEMA;
36
+ this.tableName = MeasurementsModel_1.MeasurementModel.tableName;
37
+ this.validator = new golemio_validator_1.JSONSchemaValidator(MeasurementsModel_1.MeasurementModel.tableName, MeasurementsModel_1.MeasurementModel.arrayJsonSchema);
38
+ this.sequelizeModel = connector
39
+ .getConnection()
40
+ .define(this.tableName, MeasurementsModel_1.MeasurementModel.attributeModel, { schema: this.schema });
41
+ }
42
+ bulkSave(data) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ yield this.validator.Validate(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.bulkCreate(data, {
52
+ updateOnDuplicate: MeasurementsModel_1.MeasurementModel.attributesToUpdate,
53
+ });
54
+ }
55
+ catch (error) {
56
+ throw new golemio_errors_1.GeneralError("Error while saving data", this.constructor.name, error);
57
+ }
58
+ });
59
+ }
60
+ };
61
+ exports.MeasurementRepository = MeasurementRepository = __decorate([
62
+ (0, tsyringe_1.injectable)(),
63
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
64
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
65
+ __metadata("design:paramtypes", [Object, Object])
66
+ ], MeasurementRepository);
67
+ //# sourceMappingURL=MeasurementRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/repositories/MeasurementRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAA2C;AAC3C,4FAAiE;AAIjE,8IAA2I;AAC3I,wEAAqE;AACrE,6EAAyF;AACzF,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,6DAA6B;IAOpE,YAAiD,SAA6B,EAA4B,MAAe;QACrH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QANtB,WAAM,GAAG,qBAAS,CAAC;QACnB,cAAS,GAAG,oCAAgB,CAAC,SAAS,CAAC;QAM1C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,SAAS,EAAE,oCAAgB,CAAC,eAAe,CAAC,CAAC;QACvG,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,oCAAgB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEY,QAAQ,CAAC,IAAuB;;YACzC,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvC;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,UAAU,CAAC,IAAI,EAAE;oBACvC,iBAAiB,EAAE,oCAAgB,CAAC,kBAAmD;iBAC1F,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACnF;QACL,CAAC;KAAA;CACJ,CAAA;gCA9BY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAQI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAPhG,qBAAqB,CA8BjC"}
@@ -0,0 +1,16 @@
1
+ import { CommodityProviderType } from "../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
2
+ import { StaticDataResourceType } from "../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum";
3
+ import { ResourceTypeDict } from "../../../schema-definitions/models/interfaces/IStaticDataOutputDto";
4
+ import { ILogger } from "@golemio/core/dist/helpers";
5
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
6
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
7
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
8
+ export declare class StaticMeterSettingsRepository extends AbstractValidatableRepository {
9
+ validator: JSONSchemaValidator;
10
+ schema: string;
11
+ tableName: string;
12
+ private sequelizeModel;
13
+ constructor(connector: IDatabaseConnector, logger: ILogger);
14
+ saveData<T extends StaticDataResourceType>(provider: CommodityProviderType, resourceType: T, data: ResourceTypeDict[T]): Promise<void>;
15
+ getData<T extends StaticDataResourceType>(provider: CommodityProviderType, resourceType: T): Promise<ResourceTypeDict[T] | null>;
16
+ }