@golemio/energetics 1.4.13-dev.1866110543 → 1.4.13-dev.1899264140

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 (61) hide show
  1. package/db/example/00_clear_test_data.sql +2 -1
  2. package/db/migrations/postgresql/20250626130910-enapo-measurements.js +53 -0
  3. package/db/migrations/postgresql/sqls/20250626130910-enapo-measurements-down.sql +1 -0
  4. package/db/migrations/postgresql/sqls/20250626130910-enapo-measurements-up.sql +12 -0
  5. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.d.ts +1 -0
  6. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js +2 -0
  7. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js.map +1 -1
  8. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.d.ts +1 -0
  9. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js.map +1 -1
  10. package/dist/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.d.ts +2 -1
  11. package/dist/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.js.map +1 -1
  12. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
  13. package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js.map +1 -1
  14. package/dist/integration-engine/enapo/constants.d.ts +1 -0
  15. package/dist/integration-engine/enapo/constants.js +5 -0
  16. package/dist/integration-engine/enapo/constants.js.map +1 -0
  17. package/dist/integration-engine/enapo/helpers/IntervalGenerator.d.ts +6 -0
  18. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js +20 -0
  19. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js.map +1 -0
  20. package/dist/integration-engine/enapo/interfaces/IPPasMeasurementData.d.ts +28 -0
  21. package/dist/integration-engine/enapo/interfaces/IPPasMeasurementData.js +3 -0
  22. package/dist/integration-engine/enapo/interfaces/IPPasMeasurementData.js.map +1 -0
  23. package/dist/integration-engine/enapo/interfaces/IPPasPlaces.d.ts +48 -0
  24. package/dist/integration-engine/enapo/interfaces/IPPasPlaces.js +3 -0
  25. package/dist/integration-engine/enapo/interfaces/IPPasPlaces.js.map +1 -0
  26. package/dist/integration-engine/enapo/ioc/Di.d.ts +3 -0
  27. package/dist/integration-engine/enapo/ioc/Di.js +30 -0
  28. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -0
  29. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +7 -0
  30. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +19 -0
  31. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -0
  32. package/dist/integration-engine/enapo/repositories/EnapoMeasurementsRepository.d.ts +5 -0
  33. package/dist/integration-engine/enapo/repositories/EnapoMeasurementsRepository.js +32 -0
  34. package/dist/integration-engine/enapo/repositories/EnapoMeasurementsRepository.js.map +1 -0
  35. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.d.ts +14 -0
  36. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js +48 -0
  37. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js.map +1 -0
  38. package/dist/integration-engine/enapo/workers/EnapoWorker.d.ts +7 -0
  39. package/dist/integration-engine/enapo/workers/EnapoWorker.js +21 -0
  40. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -0
  41. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasTaskMeasurementParams.d.ts +7 -0
  42. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasTaskMeasurementParams.js +3 -0
  43. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPpasTaskMeasurementParams.js.map +1 -0
  44. package/dist/integration-engine/enapo/workers/schema/EnapoPpasMeasurementsParamsValidationSchema.d.ts +8 -0
  45. package/dist/integration-engine/enapo/workers/schema/EnapoPpasMeasurementsParamsValidationSchema.js +43 -0
  46. package/dist/integration-engine/enapo/workers/schema/EnapoPpasMeasurementsParamsValidationSchema.js.map +1 -0
  47. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.d.ts +8 -0
  48. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js +33 -0
  49. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map +1 -0
  50. package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.d.ts +29 -0
  51. package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.js +116 -0
  52. package/dist/integration-engine/enapo/workers/task/EnapoPpasTask.js.map +1 -0
  53. package/dist/integration-engine/index.js +7 -1
  54. package/dist/integration-engine/index.js.map +1 -1
  55. package/dist/schema-definitions/models/EnapoMeasurementsModel.d.ts +17 -0
  56. package/dist/schema-definitions/models/EnapoMeasurementsModel.js +61 -0
  57. package/dist/schema-definitions/models/EnapoMeasurementsModel.js.map +1 -0
  58. package/dist/schema-definitions/models/interfaces/IEnapoMeasurmentsDto.d.ts +9 -0
  59. package/dist/schema-definitions/models/interfaces/IEnapoMeasurmentsDto.js +3 -0
  60. package/dist/schema-definitions/models/interfaces/IEnapoMeasurmentsDto.js.map +1 -0
  61. package/package.json +1 -1
@@ -6,4 +6,5 @@ truncate consumption_energy_devices;
6
6
  truncate organization_responsible_users;
7
7
  truncate organizations_buildings;
8
8
  truncate organizations;
9
- truncate access_limitation;
9
+ truncate access_limitation;
10
+ truncate enapo_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', '20250626130910-enapo-measurements-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', '20250626130910-enapo-measurements-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 @@
1
+ DROP TABLE enapo_measurements;
@@ -0,0 +1,12 @@
1
+ CREATE TABLE enapo_measurements (
2
+ eic varchar(50) NOT NULL,
3
+ value numeric(30, 15) NOT NULL,
4
+ "timestamp" timestamptz NOT NULL,
5
+ var varchar(255) NOT NULL,
6
+ "source" varchar(20) NOT NULL,
7
+ place_id varchar(50) NOT NULL,
8
+ device_serial_number varchar(50) NOT NULL,
9
+ created_at timestamp NULL,
10
+ updated_at timestamp NULL,
11
+ CONSTRAINT consumption_energy_measurements_pkey PRIMARY KEY ("timestamp", var, place_id)
12
+ );
@@ -6,6 +6,7 @@ import { IAveApiDeviceDataParams } from "./interfaces/IAveApiDeviceDataParams";
6
6
  export declare class PpasAveApiDataSourceProvider implements IDataSourceProvider<CemApiDtoUnion[]> {
7
7
  private config;
8
8
  private static readonly DATASOURCE_NAME;
9
+ private static readonly MAX_RESULTS;
9
10
  constructor(config: ISimpleConfig);
10
11
  getDataSource(resourceType: string, sessionId: string, params?: IAveApiDeviceDataParams): IDataSource<CemApiDtoUnion[]>;
11
12
  private getProtocolStrategy;
@@ -32,6 +32,7 @@ let PpasAveApiDataSourceProvider = exports.PpasAveApiDataSourceProvider = PpasAv
32
32
  const url = new URL(baseUrl);
33
33
  url.pathname += "/" + resourceType;
34
34
  url.searchParams.append("sessionId", sessionId);
35
+ url.searchParams.append("limit", PpasAveApiDataSourceProvider_1.MAX_RESULTS.toString());
35
36
  if (params) {
36
37
  url.searchParams.append("placeId", params.placeId.toString());
37
38
  url.searchParams.append("dateFrom", params.dateFrom);
@@ -73,6 +74,7 @@ let PpasAveApiDataSourceProvider = exports.PpasAveApiDataSourceProvider = PpasAv
73
74
  }
74
75
  };
75
76
  PpasAveApiDataSourceProvider.DATASOURCE_NAME = "PpasAveApiDataSource";
77
+ PpasAveApiDataSourceProvider.MAX_RESULTS = 10000;
76
78
  exports.PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider = PpasAveApiDataSourceProvider_1 = __decorate([
77
79
  (0, tsyringe_1.injectable)(),
78
80
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
@@ -1 +1 @@
1
- {"version":3,"file":"PpasAveApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PpasAveApiDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface IAveConfig {
2
2
  user: string;
3
3
  pass: string;
4
+ excludelist: string[] | null;
4
5
  }
5
6
  /**
6
7
  * Helper class for requesting additional data from PPAS InternetAVE API
@@ -1 +1 @@
1
- {"version":3,"file":"PpasAveApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.ts"],"names":[],"mappings":";;;AAAA,6EAA8F;AAM9F;;GAEG;AACH,MAAM,gBAAgB;IAKlB,YAAoB,OAAe,EAAU,MAAkB;QAA3C,YAAO,GAAP,OAAO,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAY;QAC/D;;WAEG;QACI,kBAAa,GAAG,KAAK,IAAqB,EAAE;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAEnC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACvC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,OAAO,CAAC;wBACjB,MAAM,EAAE,kBAAkB;wBAC1B,cAAc,EAAE,mCAAmC;qBACtD,CAAC;oBACF,IAAI,EAAE,IAAI,eAAe,CAAC;wBACtB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,IAAI;qBACjB,CAAC;oBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEjC,IAAI,IAAI,EAAE,OAAO,IAAI,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,EAAE;oBACtD,OAAO,IAAI,CAAC,SAAS,CAAC;iBACzB;gBAED,MAAM,IAAI,6BAAY,CAClB,2DAA2D,EAC3D,gBAAgB,CAAC,IAAI,EACrB,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,sCAAsC,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC5G;QACL,CAAC,CAAC;QAEF;;WAEG;QACI,qBAAgB,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;YACjE,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC3D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAEhD,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACxB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;QACL,CAAC,CAAC;IA5DgE,CAAC;IA8DnE;;OAEG;IACI,MAAM,KAAK,YAAY;QAC1B,OAAO;YACH,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,qBAAqB;SAC3B,CAAC;IACf,CAAC;;AAGI,4CAAgB;AA/ErB,6HAA6H;AAC7H,8HAA8H;AAChH,4BAAW,GAAG,OAAO,AAAV,CAAW"}
1
+ {"version":3,"file":"PpasAveApiHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.ts"],"names":[],"mappings":";;;AAAA,6EAA8F;AAO9F;;GAEG;AACH,MAAM,gBAAgB;IAKlB,YAAoB,OAAe,EAAU,MAAkB;QAA3C,YAAO,GAAP,OAAO,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAY;QAC/D;;WAEG;QACI,kBAAa,GAAG,KAAK,IAAqB,EAAE;YAC/C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAEnC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACvC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,OAAO,CAAC;wBACjB,MAAM,EAAE,kBAAkB;wBAC1B,cAAc,EAAE,mCAAmC;qBACtD,CAAC;oBACF,IAAI,EAAE,IAAI,eAAe,CAAC;wBACtB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,IAAI;qBACjB,CAAC;oBACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEjC,IAAI,IAAI,EAAE,OAAO,IAAI,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,EAAE;oBACtD,OAAO,IAAI,CAAC,SAAS,CAAC;iBACzB;gBAED,MAAM,IAAI,6BAAY,CAClB,2DAA2D,EAC3D,gBAAgB,CAAC,IAAI,EACrB,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,sCAAsC,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC5G;QACL,CAAC,CAAC;QAEF;;WAEG;QACI,qBAAgB,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;YACjE,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC3D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAEhD,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACxB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;QACL,CAAC,CAAC;IA5DgE,CAAC;IA8DnE;;OAEG;IACI,MAAM,KAAK,YAAY;QAC1B,OAAO;YACH,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,UAAU,EAAE,qBAAqB;SAC3B,CAAC;IACf,CAAC;;AAGI,4CAAgB;AA/ErB,6HAA6H;AAC7H,8HAA8H;AAChH,4BAAW,GAAG,OAAO,AAAV,CAAW"}
@@ -1,4 +1,5 @@
1
+ import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
1
2
  import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
2
3
  export declare class MeasurementsDataNormalizer {
3
- static filter(data: IMeasurementDto[]): IMeasurementDto[];
4
+ static filter(data: Array<IEnapoMeasurementsDto | IMeasurementDto>): (IMeasurementDto | IEnapoMeasurementsDto)[];
4
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementsDataNormalizer.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.ts"],"names":[],"mappings":";;;AAEA,yGAAyG;AACzG,MAAa,0BAA0B;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAuB;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;CACJ;AAJD,gEAIC"}
1
+ {"version":3,"file":"MeasurementsDataNormalizer.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/MeasurementsDataNormalizer.ts"],"names":[],"mappings":";;;AAGA,yGAAyG;AACzG,MAAa,0BAA0B;IAC5B,MAAM,CAAC,MAAM,CAAC,IAAoD;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;CACJ;AAJD,gEAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAEA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,sCAAsC,EAAE,MAAM,EAAE;IAChD,4BAA4B,EAAE,MAAM,EAAE;IACtC,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,2BAA2B,EAAE,MAAM,EAAE;IACrC,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,qCAAqC,EAAE,MAAM,EAAE;IAC/C,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,+BAA+B,EAAE,MAAM,EAAE;IACzC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IACpC,4BAA4B,EAAE,MAAM,EAAE;IACtC,6BAA6B,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEO,oDAAoB"}
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,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,sCAAsC,EAAE,MAAM,EAAE;IAChD,4BAA4B,EAAE,MAAM,EAAE;IACtC,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,2BAA2B,EAAE,MAAM,EAAE;IACrC,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,qCAAqC,EAAE,MAAM,EAAE;IAC/C,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,+BAA+B,EAAE,MAAM,EAAE;IACzC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IACpC,4BAA4B,EAAE,MAAM,EAAE;IACtC,6BAA6B,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEO,oDAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAgE;AAChE,wFAAuG;AAGvG,8EAAqE;AAGrE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,6BAA6D,SAAQ,iCAAe;IAGtG;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAAuB,EAAE,aAAsB,KAAK;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,uDAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpD;YAED,gDAAgD;YAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAClB,KAAK;gBACL,IAAI,CAAC,SAAS,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;oBAClD,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;oBACpB,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;oBAC5B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CACR,CAAC;YAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACpD;IACL,CAAC;CACJ;AA/BD,sEA+BC"}
1
+ {"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+CAAgE;AAChE,wFAAuG;AAGvG,8EAAqE;AAGrE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,6BAA6D,SAAQ,iCAAe;IAGtG;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAAuB,EAAE,aAAsB,KAAK;QACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,uDAA0B,CAAC,MAAM,CAAC,KAAK,CAAsB,CAAC;aACzE;YAED,gDAAgD;YAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAClB,KAAK;gBACL,IAAI,CAAC,SAAS,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;oBAClD,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;oBACpB,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;oBAC5B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CACR,CAAC;YAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACpD;IACL,CAAC;CACJ;AA/BD,sEA+BC"}
@@ -0,0 +1 @@
1
+ export declare const ENAPO_WORKER_NAME = "EnapoEnergetics";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENAPO_WORKER_NAME = void 0;
4
+ exports.ENAPO_WORKER_NAME = "EnapoEnergetics";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/integration-engine/enapo/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IDataEntrypointParams } from "../../commodity-providers/workers/interfaces/IDataEntrypointParams";
2
+ import { DateTime, Interval } from "@golemio/core/dist/shared/luxon";
3
+ export declare class IntervalGenerator {
4
+ static getIntervals(from: DateTime, to: DateTime, daySplit: number): Interval[];
5
+ static generateIntervalsFromTargetDays(data: IDataEntrypointParams, daySplit: number): Interval[];
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntervalGenerator = void 0;
4
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
5
+ class IntervalGenerator {
6
+ static getIntervals(from, to, daySplit) {
7
+ const dateFrom = from.startOf("day");
8
+ const dateTo = to.startOf("day");
9
+ const intervals = luxon_1.Interval.fromDateTimes(dateFrom, dateTo).splitBy({ days: daySplit });
10
+ return intervals;
11
+ }
12
+ static generateIntervalsFromTargetDays(data, daySplit) {
13
+ const currentDate = luxon_1.DateTime.now().startOf("day").plus({ days: 1 });
14
+ const leftBoundDate = currentDate.minus({ days: data.targetDays });
15
+ const intervals = luxon_1.Interval.fromDateTimes(leftBoundDate, currentDate).splitBy({ days: daySplit });
16
+ return intervals;
17
+ }
18
+ }
19
+ exports.IntervalGenerator = IntervalGenerator;
20
+ //# sourceMappingURL=IntervalGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntervalGenerator.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/helpers/IntervalGenerator.ts"],"names":[],"mappings":";;;AACA,2DAAqE;AAErE,MAAa,iBAAiB;IACnB,MAAM,CAAC,YAAY,CAAC,IAAc,EAAE,EAAY,EAAE,QAAgB;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvF,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAAC,IAA2B,EAAE,QAAgB;QACvF,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,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,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjG,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAfD,8CAeC"}
@@ -0,0 +1,28 @@
1
+ export interface IPPasMeasurementData {
2
+ StandardTime: string;
3
+ Timestamp: string;
4
+ OperatingAmount: number;
5
+ ConvertAmount: number;
6
+ OperatingDifference: number;
7
+ ConvertDifference: number;
8
+ ConvertCoefficient: number;
9
+ Correction: number;
10
+ Temperature: number;
11
+ Pressure: number;
12
+ SampleState: number;
13
+ Consumption: number;
14
+ Energy: number | null;
15
+ EnergyConsumption: number | null;
16
+ DeviceSerialNumber: string;
17
+ StateOfArchiveValues: any | null;
18
+ DealerLicenceNumberHash: string | null;
19
+ ManuallyInserted: boolean | null;
20
+ Edited: boolean;
21
+ Imported: boolean | null;
22
+ UserId: number;
23
+ LastChangeDate: string | null;
24
+ IsChangedRow: boolean | null;
25
+ ModemSerialNumber: string;
26
+ Battery: number;
27
+ SampleStateDescription: string;
28
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPPasMeasurementData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPPasMeasurementData.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/interfaces/IPPasMeasurementData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ export interface IPPasPlaces {
2
+ Id: number;
3
+ Eic: string;
4
+ CustomerName: string;
5
+ PlaceName: string;
6
+ PayerName: string;
7
+ PayerId: string;
8
+ CustomerId: string;
9
+ PlaceId: string;
10
+ DeviceLocation: string;
11
+ Terminated: boolean;
12
+ Region: string;
13
+ RegionId: number;
14
+ ConnectionMethod: string;
15
+ PurchaseCategory: string;
16
+ ConvertCoefficient: number;
17
+ DeviceType: string;
18
+ IdentificationNumber: string;
19
+ LastData: string;
20
+ DeviceSerialNumber: string;
21
+ PlaceStreet: string;
22
+ PayerStreet: string;
23
+ PlaceCity: string;
24
+ PayerCity: string;
25
+ PlaceZipCode: string;
26
+ PayerZipCode: string;
27
+ Dealer: string;
28
+ ReadingCategory: string;
29
+ ValidatedBy: string;
30
+ ValidatedTill: string;
31
+ IsDataValidated: boolean;
32
+ ValidationNote: string;
33
+ Gps: string;
34
+ Device: number;
35
+ ReadRequestStatus: number;
36
+ ReadDescription: string;
37
+ Note: string;
38
+ Group: string;
39
+ Workplace: string;
40
+ HasTimeWindows: boolean;
41
+ HasBattery: boolean;
42
+ HasGasComposition: boolean;
43
+ BatteryCapacity: number;
44
+ BatteryVoltage: number;
45
+ DailyData: boolean;
46
+ ScadaId: string;
47
+ ParentDevice: string;
48
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPPasPlaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPPasPlaces.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/interfaces/IPPasPlaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const EnapoContainer: DependencyContainer;
3
+ export { EnapoContainer };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnapoContainer = void 0;
4
+ const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
5
+ const EnapoMeasurementsRepository_1 = require("../repositories/EnapoMeasurementsRepository");
6
+ const PPasMeasurementTransformation_1 = require("../transformations/PPasMeasurementTransformation");
7
+ const EnapoPpasTask_1 = require("../workers/task/EnapoPpasTask");
8
+ const EnapoWorkerContainerToken_1 = require("./EnapoWorkerContainerToken");
9
+ const CommodityProviderDataSourceFactory_1 = require("../../commodity-providers/datasources/CommodityProviderDataSourceFactory");
10
+ const PpasAveApiDataSourceProvider_1 = require("../../commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider");
11
+ const CemApiDataSourceProvider_1 = require("../../commodity-providers/datasources/cem-api/CemApiDataSourceProvider");
12
+ const WorkerContainerToken_1 = require("../../commodity-providers/ioc/WorkerContainerToken");
13
+ //#region Initialization
14
+ const EnapoContainer = Di_1.IntegrationEngineContainer.createChildContainer();
15
+ exports.EnapoContainer = EnapoContainer;
16
+ //#endregion
17
+ //#region Datasource
18
+ EnapoContainer.register(WorkerContainerToken_1.WorkerContainerToken.CemApiDataSourceProvider, CemApiDataSourceProvider_1.CemApiDataSourceProvider);
19
+ EnapoContainer.register(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDataSourceProvider, PpasAveApiDataSourceProvider_1.PpasAveApiDataSourceProvider);
20
+ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
21
+ //#endregion
22
+ //#region Repositories
23
+ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository);
24
+ //#endregion
25
+ //#region Transformation
26
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PPasMeasurementTransformation, PPasMeasurementTransformation_1.PPasMeasurementTransformation);
27
+ //#endregion
28
+ //#region Tasks
29
+ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasTask, EnapoPpasTask_1.EnapoPpasTask);
30
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qEAA0F;AAE1F,6FAA0F;AAC1F,oGAAiG;AACjG,iEAA8D;AAC9D,2EAAwE;AACxE,iIAA4H;AAC5H,kIAA6H;AAC7H,qHAAgH;AAChH,6FAAwF;AAExF,wBAAwB;AACxB,MAAM,cAAc,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAuBrF,wCAAc;AAtBvB,YAAY;AAEZ,oBAAoB;AACpB,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACjG,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACzG,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AAC1H,YAAY;AAEZ,sBAAsB;AACtB,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC5G,YAAY;AAEZ,wBAAwB;AACxB,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,YAAY;AAEZ,eAAe;AACf,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,aAAa,EAAE,6BAAa,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ declare const EnapoWorkerContainerToken: {
2
+ CommodityProviderDataSourceFactory: symbol;
3
+ EnapoMeasurementsRepository: symbol;
4
+ PPasMeasurementTransformation: symbol;
5
+ EnapoPpasTask: symbol;
6
+ };
7
+ export { EnapoWorkerContainerToken };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnapoWorkerContainerToken = void 0;
4
+ const EnapoWorkerContainerToken = {
5
+ //#region Datasource
6
+ CommodityProviderDataSourceFactory: Symbol(),
7
+ //#endregion
8
+ //#region Repositories
9
+ EnapoMeasurementsRepository: Symbol(),
10
+ //#endregion
11
+ //#region Transformations
12
+ PPasMeasurementTransformation: Symbol(),
13
+ //#endregion
14
+ //#region Tasks
15
+ EnapoPpasTask: Symbol(),
16
+ //#endregion
17
+ };
18
+ exports.EnapoWorkerContainerToken = EnapoWorkerContainerToken;
19
+ //# sourceMappingURL=EnapoWorkerContainerToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoWorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/EnapoWorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAC9B,oBAAoB;IACpB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,YAAY;IACZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IACZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
@@ -0,0 +1,5 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class EnapoMeasurementsRepository extends PostgresModel implements IModel {
4
+ constructor();
5
+ }
@@ -0,0 +1,32 @@
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.EnapoMeasurementsRepository = void 0;
13
+ const _sch_1 = require("../../../schema-definitions");
14
+ const EnapoMeasurementsModel_1 = require("../../../schema-definitions/models/EnapoMeasurementsModel");
15
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
16
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
17
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
+ let EnapoMeasurementsRepository = exports.EnapoMeasurementsRepository = class EnapoMeasurementsRepository extends PostgresModel_1.PostgresModel {
19
+ constructor() {
20
+ super(EnapoMeasurementsModel_1.EnapoMeasurementsModel.REPOSITORY_NAME, {
21
+ pgTableName: EnapoMeasurementsModel_1.EnapoMeasurementsModel.TABLE_NAME,
22
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
23
+ outputSequelizeAttributes: EnapoMeasurementsModel_1.EnapoMeasurementsModel.attributeModel,
24
+ savingType: "insertOrUpdate",
25
+ }, new golemio_validator_1.JSONSchemaValidator(EnapoMeasurementsModel_1.EnapoMeasurementsModel.JSON_SCHEMA_VALIDATOR_NAME, EnapoMeasurementsModel_1.EnapoMeasurementsModel.jsonSchema));
26
+ }
27
+ };
28
+ exports.EnapoMeasurementsRepository = EnapoMeasurementsRepository = __decorate([
29
+ (0, tsyringe_1.injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], EnapoMeasurementsRepository);
32
+ //# sourceMappingURL=EnapoMeasurementsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoMeasurementsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/EnapoMeasurementsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,sGAA4E;AAE5E,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,2BAA2B,yCAAjC,MAAM,2BAA4B,SAAQ,6BAAa;IAC1D;QACI,KAAK,CACD,+CAAsB,CAAC,eAAe,EACtC;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,+CAAsB,CAAC,0BAA0B,EAAE,+CAAsB,CAAC,UAAU,CAAC,CAChH,CAAC;IACN,CAAC;CACJ,CAAA;sCAbY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;;GACA,2BAA2B,CAavC"}
@@ -0,0 +1,14 @@
1
+ import { IAveApiDeviceDataDto } from "../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto";
2
+ import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ import { IPPasPlaces } from "../interfaces/IPPasPlaces";
5
+ export declare class PPasMeasurementTransformation extends AbstractTransformation<IAveApiDeviceDataDto & IPPasPlaces, {
6
+ operatingAmount: IEnapoMeasurementsDto;
7
+ convertDifference: IEnapoMeasurementsDto;
8
+ }> {
9
+ name: string;
10
+ protected transformInternal: (data: IAveApiDeviceDataDto & IPPasPlaces) => {
11
+ operatingAmount: IEnapoMeasurementsDto;
12
+ convertDifference: IEnapoMeasurementsDto;
13
+ };
14
+ }
@@ -0,0 +1,48 @@
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.PPasMeasurementTransformation = void 0;
10
+ const CommodityProviderEnum_1 = require("../../commodity-providers/datasources/helpers/CommodityProviderEnum");
11
+ const PpasAveApiHelper_1 = require("../../commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper");
12
+ const MeasurementVariableEnum_1 = require("../../../schema-definitions/datasources/helpers/MeasurementVariableEnum");
13
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
14
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
15
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
16
+ let PPasMeasurementTransformation = exports.PPasMeasurementTransformation = class PPasMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.name = "PPasMeasurementTransformation";
20
+ this.transformInternal = (data) => {
21
+ const baseData = {
22
+ eic: data.Eic,
23
+ timestamp: luxon_1.DateTime.fromISO(data.StandardTime, {
24
+ zone: PpasAveApiHelper_1.PpasAveApiHelper.API_DATE_TZ,
25
+ }).toJSDate(),
26
+ source: CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi,
27
+ place_id: data.PlaceId,
28
+ device_serial_number: data.DeviceSerialNumber,
29
+ };
30
+ return {
31
+ operatingAmount: {
32
+ value: data.OperatingAmount,
33
+ var: MeasurementVariableEnum_1.MeasurementVariable.Core,
34
+ ...baseData,
35
+ },
36
+ convertDifference: {
37
+ value: data.ConvertDifference,
38
+ var: MeasurementVariableEnum_1.MeasurementVariable.Core2,
39
+ ...baseData,
40
+ },
41
+ };
42
+ };
43
+ }
44
+ };
45
+ exports.PPasMeasurementTransformation = PPasMeasurementTransformation = __decorate([
46
+ (0, tsyringe_1.injectable)()
47
+ ], PPasMeasurementTransformation);
48
+ //# sourceMappingURL=PPasMeasurementTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+GAAsG;AACtG,kHAA6G;AAE7G,qHAAuF;AAEvF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAC4C,EAAE;YACtF,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,MAAM,EAAE,yCAAiB,CAAC,kBAAkB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;aAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,GAAG,EAAE,6CAAmB,CAAC,IAAI;oBAC7B,GAAG,QAAQ;iBACd;gBACD,iBAAiB,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,GAAG,EAAE,6CAAmB,CAAC,KAAK;oBAC9B,GAAG,QAAQ;iBACd;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCAhCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CAgCzC"}
@@ -0,0 +1,7 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine";
2
+ import { ITask } from "@golemio/core/dist/integration-engine/workers/interfaces/ITask";
3
+ export declare class EnapoWorker extends AbstractWorker {
4
+ protected name: string;
5
+ constructor();
6
+ registerTask: (task: ITask) => void;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnapoWorker = 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 EnapoWorkerContainerToken_1 = require("../ioc/EnapoWorkerContainerToken");
8
+ class EnapoWorker extends integration_engine_1.AbstractWorker {
9
+ constructor() {
10
+ super();
11
+ this.name = constants_1.ENAPO_WORKER_NAME;
12
+ this.registerTask = (task) => {
13
+ super.registerTask(task);
14
+ task.queuePrefix = this.getQueuePrefix();
15
+ };
16
+ // Register tasks
17
+ this.registerTask(Di_1.EnapoContainer.resolve(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasTask));
18
+ }
19
+ }
20
+ exports.EnapoWorker = EnapoWorker;
21
+ //# sourceMappingURL=EnapoWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/workers/EnapoWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AAEvE,4CAAiD;AACjD,kCAA2C;AAC3C,gFAA6E;AAE7E,MAAa,WAAY,SAAQ,mCAAc;IAG3C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,6BAAiB,CAAC;QAS5B,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAPE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,mBAAc,CAAC,OAAO,CAAQ,qDAAyB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9F,CAAC;CAMJ;AAdD,kCAcC"}
@@ -0,0 +1,7 @@
1
+ import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
2
+ export interface IEnapoPpasTaskMeasurementParams {
3
+ providerType: CommodityProviderType.PpasAveV | CommodityProviderType.PpasAveM | CommodityProviderType.PpasAveA | CommodityProviderType.PpasAveC | CommodityProviderType.PpasAveMO;
4
+ targetDays?: number;
5
+ dateFrom?: string;
6
+ dateTo?: string;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEnapoPpasTaskMeasurementParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEnapoPpasTaskMeasurementParams.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/interfaces/IEnapoPpasTaskMeasurementParams.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { CommodityProviderType } from "../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum";
2
+ import { IEnapoPpasTaskMeasurementParams } from "../interfaces/IEnapoPpasTaskMeasurementParams";
3
+ export declare class EnapoPpasMeasurementsParamsValidationSchema implements IEnapoPpasTaskMeasurementParams {
4
+ dateFrom?: string;
5
+ dateTo?: string;
6
+ targetDays?: number;
7
+ providerType: CommodityProviderType.PpasAveV | CommodityProviderType.PpasAveM | CommodityProviderType.PpasAveA | CommodityProviderType.PpasAveC | CommodityProviderType.PpasAveMO;
8
+ }
@@ -0,0 +1,43 @@
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.EnapoPpasMeasurementsParamsValidationSchema = 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
+ class EnapoPpasMeasurementsParamsValidationSchema {
16
+ }
17
+ exports.EnapoPpasMeasurementsParamsValidationSchema = EnapoPpasMeasurementsParamsValidationSchema;
18
+ __decorate([
19
+ (0, class_validator_1.IsISO8601)(),
20
+ (0, class_validator_1.IsOptional)(),
21
+ __metadata("design:type", String)
22
+ ], EnapoPpasMeasurementsParamsValidationSchema.prototype, "dateFrom", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsISO8601)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ __metadata("design:type", String)
27
+ ], EnapoPpasMeasurementsParamsValidationSchema.prototype, "dateTo", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsNumber)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ __metadata("design:type", Number)
32
+ ], EnapoPpasMeasurementsParamsValidationSchema.prototype, "targetDays", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsEnum)([
35
+ CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV,
36
+ CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM,
37
+ CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveA,
38
+ CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveC,
39
+ CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveMO,
40
+ ]),
41
+ __metadata("design:type", String)
42
+ ], EnapoPpasMeasurementsParamsValidationSchema.prototype, "providerType", void 0);
43
+ //# sourceMappingURL=EnapoPpasMeasurementsParamsValidationSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoPpasMeasurementsParamsValidationSchema.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/schema/EnapoPpasMeasurementsParamsValidationSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uHAAsF;AACtF,+EAAoG;AAGpG,MAAa,2CAA2C;CA0BvD;AA1BD,kGA0BC;AAvBG;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;6EACK;AAIlB;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;2EACG;AAIhB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+EACO;AASpB;IAPC,IAAA,wBAAM,EAAC;QACJ,iDAAqB,CAAC,QAAQ;QAC9B,iDAAqB,CAAC,QAAQ;QAC9B,iDAAqB,CAAC,QAAQ;QAC9B,iDAAqB,CAAC,QAAQ;QAC9B,iDAAqB,CAAC,SAAS;KAClC,CAAC;;iFAMoC"}
@@ -0,0 +1,8 @@
1
+ import { EnapoMeasurementsRepository } from "../../repositories/EnapoMeasurementsRepository";
2
+ import { IEnapoMeasurementsDto } from "../../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
3
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
4
+ export declare abstract class AbstractEnapoFetchMeasurementsTask<T extends object> extends AbstractTask<T> {
5
+ protected abstract measurementsRepository: EnapoMeasurementsRepository;
6
+ constructor();
7
+ protected saveConsumptionData(data: IEnapoMeasurementsDto[], skipFilter?: boolean): Promise<void>;
8
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractEnapoFetchMeasurementsTask = void 0;
4
+ const MeasurementsDataNormalizer_1 = require("../../../commodity-providers/helper/MeasurementsDataNormalizer");
5
+ const constants_1 = require("../../constants");
6
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
7
+ const MEASUREMENTS_BATCH_SIZE = 5000;
8
+ class AbstractEnapoFetchMeasurementsTask extends integration_engine_1.AbstractTask {
9
+ constructor() {
10
+ super(constants_1.ENAPO_WORKER_NAME);
11
+ }
12
+ async saveConsumptionData(data, skipFilter = false) {
13
+ for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
14
+ let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
15
+ if (!skipFilter) {
16
+ batch = MeasurementsDataNormalizer_1.MeasurementsDataNormalizer.filter(batch);
17
+ }
18
+ const uniqueValues = new Set();
19
+ batch = batch.filter((item) => {
20
+ const key = `${item.timestamp.getTime()}_${item.var}_${item.place_id}`;
21
+ if (uniqueValues.has(key))
22
+ return false;
23
+ uniqueValues.add(key);
24
+ return true;
25
+ });
26
+ if (batch.length) {
27
+ await this.measurementsRepository.bulkSave(batch);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ exports.AbstractEnapoFetchMeasurementsTask = AbstractEnapoFetchMeasurementsTask;
33
+ //# sourceMappingURL=AbstractEnapoFetchMeasurementsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractEnapoFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.ts"],"names":[],"mappings":";;;AAAA,+GAAuG;AACvG,+CAAwD;AAGxD,8EAAqE;AAErE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,kCAAqD,SAAQ,iCAAe;IAG9F;QACI,KAAK,CAAC,6BAAiB,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAA6B,EAAE,aAAsB,KAAK;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE;gBACb,KAAK,GAAG,uDAA0B,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;aAC/E;YAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACxC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,EAAE;gBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;CACJ;AA5BD,gFA4BC"}
@@ -0,0 +1,29 @@
1
+ import { AveApiDtoUnion, ICommodityProviderDataSourceFactory } from "../../../commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory";
2
+ import { IAveConfig, PpasAveApiHelper } from "../../../commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper";
3
+ import { IAveApiDeviceDataParams } from "../../../commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams";
4
+ import { IPpasMeasurementsParams } from "../../../commodity-providers/workers/interfaces/IPpasMeasurementsParams";
5
+ import { EnapoMeasurementsRepository } from "../../repositories/EnapoMeasurementsRepository";
6
+ import { PPasMeasurementTransformation } from "../../transformations/PPasMeasurementTransformation";
7
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
8
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
9
+ import { IEnapoPpasTaskMeasurementParams } from "../interfaces/IEnapoPpasTaskMeasurementParams";
10
+ import { EnapoPpasMeasurementsParamsValidationSchema } from "../schema/EnapoPpasMeasurementsParamsValidationSchema";
11
+ import { AbstractEnapoFetchMeasurementsTask } from "./AbstractEnapoFetchMeasurementsTask";
12
+ export declare class EnapoPpasTask extends AbstractEnapoFetchMeasurementsTask<IEnapoPpasTaskMeasurementParams> {
13
+ protected config: ISimpleConfig;
14
+ protected measurementsRepository: EnapoMeasurementsRepository;
15
+ protected transformation: PPasMeasurementTransformation;
16
+ protected logger: ILogger;
17
+ protected dataSourceFactory: ICommodityProviderDataSourceFactory;
18
+ queueName: string;
19
+ queueTtl: number;
20
+ schema: typeof EnapoPpasMeasurementsParamsValidationSchema;
21
+ constructor(config: ISimpleConfig, measurementsRepository: EnapoMeasurementsRepository, transformation: PPasMeasurementTransformation, logger: ILogger, dataSourceFactory: ICommodityProviderDataSourceFactory);
22
+ execute(params: IPpasMeasurementsParams): Promise<void>;
23
+ private fetchAndSave;
24
+ protected getProviderConfig(data: IPpasMeasurementsParams): {
25
+ baseUrl: string;
26
+ config: IAveConfig;
27
+ };
28
+ protected getDataFromDataSource<T extends AveApiDtoUnion>(resourceTypeKey: keyof typeof PpasAveApiHelper.resourceType, sessionId: string, params?: IAveApiDeviceDataParams): Promise<T[]>;
29
+ }
@@ -0,0 +1,116 @@
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.EnapoPpasTask = void 0;
16
+ const CommodityProviderEnum_1 = require("../../../commodity-providers/datasources/helpers/CommodityProviderEnum");
17
+ const AveDataTypeEnum_1 = require("../../../commodity-providers/datasources/ppas-ave-api/AveDataTypeEnum");
18
+ const PpasAveApiHelper_1 = require("../../../commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper");
19
+ const IntervalGenerator_1 = require("../../helpers/IntervalGenerator");
20
+ const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
21
+ const EnapoMeasurementsRepository_1 = require("../../repositories/EnapoMeasurementsRepository");
22
+ const PPasMeasurementTransformation_1 = require("../../transformations/PPasMeasurementTransformation");
23
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
24
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
25
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
26
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
27
+ const EnapoPpasMeasurementsParamsValidationSchema_1 = require("../schema/EnapoPpasMeasurementsParamsValidationSchema");
28
+ const AbstractEnapoFetchMeasurementsTask_1 = require("./AbstractEnapoFetchMeasurementsTask");
29
+ let EnapoPpasTask = exports.EnapoPpasTask = class EnapoPpasTask extends AbstractEnapoFetchMeasurementsTask_1.AbstractEnapoFetchMeasurementsTask {
30
+ constructor(config, measurementsRepository, transformation, logger, dataSourceFactory) {
31
+ super();
32
+ this.config = config;
33
+ this.measurementsRepository = measurementsRepository;
34
+ this.transformation = transformation;
35
+ this.logger = logger;
36
+ this.dataSourceFactory = dataSourceFactory;
37
+ this.queueName = "fetchPpasMeasurements";
38
+ this.queueTtl = 60 * 60 * 1000;
39
+ this.schema = EnapoPpasMeasurementsParamsValidationSchema_1.EnapoPpasMeasurementsParamsValidationSchema;
40
+ }
41
+ async execute(params) {
42
+ const { baseUrl, config } = this.getProviderConfig(params);
43
+ const aveApiHelper = new PpasAveApiHelper_1.PpasAveApiHelper(baseUrl, config);
44
+ const sessionId = await aveApiHelper.createSession();
45
+ try {
46
+ const places = await this.getDataFromDataSource("Places", sessionId);
47
+ for (const place of places) {
48
+ if (config.excludelist && config.excludelist.includes(place.Eic)) {
49
+ continue;
50
+ }
51
+ this.logger.info(`Fetching data for device ${place.DeviceSerialNumber}`);
52
+ await this.fetchAndSave(place, sessionId, params);
53
+ }
54
+ }
55
+ finally {
56
+ await aveApiHelper.terminateSession(sessionId);
57
+ }
58
+ }
59
+ async fetchAndSave(place, sessionId, params) {
60
+ try {
61
+ if (!params?.targetDays && (!params?.dateFrom || !params?.dateTo)) {
62
+ throw new golemio_errors_1.GeneralError("Both dateFrom and dateTo must be provided when targetDays is not specified", this.constructor.name);
63
+ }
64
+ const intervals = params.targetDays
65
+ ? IntervalGenerator_1.IntervalGenerator.generateIntervalsFromTargetDays({ targetDays: params.targetDays }, 5)
66
+ : IntervalGenerator_1.IntervalGenerator.getIntervals(luxon_1.DateTime.fromISO(params.dateFrom), luxon_1.DateTime.fromISO(params.dateTo), 5);
67
+ for (const interval of intervals) {
68
+ const start = interval.start.startOf("day");
69
+ const end = interval.end.startOf("day");
70
+ const measurementRawData = await this.getDataFromDataSource("DeviceData", sessionId, {
71
+ placeId: place.Id,
72
+ dateFrom: start.toISODate(),
73
+ dateTo: end.toISODate(),
74
+ isoDate: "1",
75
+ // fill all measurement values (we need the OperatingAmount and ConvertDifference values)
76
+ dataType: AveDataTypeEnum_1.AveDataType.RawData.toString(),
77
+ });
78
+ const measurementRawDataWithPlace = measurementRawData.map((item) => ({
79
+ ...place,
80
+ ...item,
81
+ }));
82
+ const transFormedData = this.transformation.transformArray(measurementRawDataWithPlace);
83
+ await this.saveConsumptionData(transFormedData.flatMap((item) => Object.values(item)));
84
+ }
85
+ }
86
+ catch (err) {
87
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
88
+ throw err;
89
+ }
90
+ throw new golemio_errors_1.GeneralError(`Unable to download data for place id: ${place.Id} eic: ${place.Eic}`, this.constructor.name, err);
91
+ }
92
+ }
93
+ getProviderConfig(data) {
94
+ const rawConfig = this.config.getValue(`module.energetics.commodityProviders.${data.providerType}`);
95
+ rawConfig.excludelist = rawConfig.excludelist ? Object.values(rawConfig.excludelist) : null;
96
+ return {
97
+ baseUrl: this.config.getValue("module.energetics.commodityProviders.ppas_ave_api.baseUrl"),
98
+ config: this.config.getValue(`module.energetics.commodityProviders.${data.providerType}`),
99
+ };
100
+ }
101
+ getDataFromDataSource(resourceTypeKey, sessionId, params) {
102
+ const dataSource = this.dataSourceFactory.getDataSource(CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi, PpasAveApiHelper_1.PpasAveApiHelper.resourceType[resourceTypeKey], sessionId, params);
103
+ return dataSource.getAll();
104
+ }
105
+ };
106
+ exports.EnapoPpasTask = EnapoPpasTask = __decorate([
107
+ (0, tsyringe_1.injectable)(),
108
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
109
+ __param(1, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository)),
110
+ __param(2, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PPasMeasurementTransformation)),
111
+ __param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
112
+ __param(4, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.CommodityProviderDataSourceFactory)),
113
+ __metadata("design:paramtypes", [Object, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository,
114
+ PPasMeasurementTransformation_1.PPasMeasurementTransformation, Object, Object])
115
+ ], EnapoPpasTask);
116
+ //# sourceMappingURL=EnapoPpasTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoPpasTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/workers/task/EnapoPpasTask.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,11 @@ exports.workers = void 0;
4
4
  const OictEnergetikaWorker_1 = require("./workers/oict-energetika/OictEnergetikaWorker");
5
5
  const CommodityWorker_1 = require("./commodity-providers/workers/CommodityWorker");
6
6
  const EnergeticsNewVpalaceWorker_1 = require("./workers/vpalace/EnergeticsNewVpalaceWorker");
7
- exports.workers = [OictEnergetikaWorker_1.OictEnergetikaWorker, EnergeticsNewVpalaceWorker_1.EnergeticsNewVpalaceWorker, CommodityWorker_1.CommodityWorker];
7
+ const EnapoWorker_1 = require("./enapo/workers/EnapoWorker");
8
+ exports.workers = [
9
+ OictEnergetikaWorker_1.OictEnergetikaWorker,
10
+ EnergeticsNewVpalaceWorker_1.EnergeticsNewVpalaceWorker,
11
+ CommodityWorker_1.CommodityWorker,
12
+ EnapoWorker_1.EnapoWorker,
13
+ ];
8
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;AAAA,yFAAwF;AAExF,mFAAgF;AAChF,6FAA0F;AAE7E,QAAA,OAAO,GAAoC,CAAC,2CAAoB,EAAE,uDAA0B,EAAE,iCAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;AAAA,yFAAwF;AAExF,mFAAgF;AAChF,6FAA0F;AAC1F,6DAA0D;AAE7C,QAAA,OAAO,GAAoC;IACpD,2CAAoB;IACpB,uDAA0B;IAC1B,iCAAe;IACf,yBAAW;CACd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
3
+ import { IEnapoMeasurementsDto } from "./interfaces/IEnapoMeasurmentsDto";
4
+ export declare class EnapoMeasurementsModel extends Model<IEnapoMeasurementsDto> implements IEnapoMeasurementsDto {
5
+ static TABLE_NAME: string;
6
+ static REPOSITORY_NAME: string;
7
+ static JSON_SCHEMA_VALIDATOR_NAME: string;
8
+ eic: string;
9
+ value: number;
10
+ timestamp: Date;
11
+ var: string;
12
+ source: string;
13
+ place_id: string;
14
+ device_serial_number: string;
15
+ static attributeModel: ModelAttributes<EnapoMeasurementsModel, IEnapoMeasurementsDto>;
16
+ static jsonSchema: JSONSchemaType<IEnapoMeasurementsDto[]>;
17
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnapoMeasurementsModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ const MeasurementConstants_1 = require("./constants/MeasurementConstants");
6
+ class EnapoMeasurementsModel extends sequelize_1.Model {
7
+ }
8
+ exports.EnapoMeasurementsModel = EnapoMeasurementsModel;
9
+ EnapoMeasurementsModel.TABLE_NAME = "enapo_measurements";
10
+ EnapoMeasurementsModel.REPOSITORY_NAME = "EnapoMeasurementsRepository";
11
+ EnapoMeasurementsModel.JSON_SCHEMA_VALIDATOR_NAME = "EnapoMeasurementsRepositoryValidator";
12
+ EnapoMeasurementsModel.attributeModel = {
13
+ eic: {
14
+ type: sequelize_1.DataTypes.STRING(50),
15
+ allowNull: false,
16
+ },
17
+ value: {
18
+ type: sequelize_1.DataTypes.DECIMAL(30, 15),
19
+ allowNull: false,
20
+ },
21
+ timestamp: {
22
+ type: sequelize_1.DataTypes.DATE,
23
+ allowNull: false,
24
+ primaryKey: true,
25
+ },
26
+ var: {
27
+ type: sequelize_1.DataTypes.STRING(255),
28
+ allowNull: false,
29
+ primaryKey: true,
30
+ },
31
+ source: {
32
+ type: sequelize_1.DataTypes.STRING(20),
33
+ allowNull: false,
34
+ },
35
+ place_id: {
36
+ type: sequelize_1.DataTypes.STRING(50),
37
+ allowNull: false,
38
+ primaryKey: true,
39
+ },
40
+ device_serial_number: {
41
+ type: sequelize_1.DataTypes.STRING(50),
42
+ allowNull: false,
43
+ },
44
+ };
45
+ EnapoMeasurementsModel.jsonSchema = {
46
+ type: "array",
47
+ items: {
48
+ type: "object",
49
+ properties: {
50
+ eic: { type: "string" },
51
+ value: { type: "number" },
52
+ timestamp: { type: "object", required: ["toISOString"] },
53
+ var: { type: "string", enum: MeasurementConstants_1.MEASUREMENT_VARIABLES },
54
+ source: { type: "string" },
55
+ place_id: { type: "string" },
56
+ device_serial_number: { type: "string" },
57
+ },
58
+ required: ["eic", "value", "timestamp", "var", "source", "place_id", "device_serial_number"],
59
+ },
60
+ };
61
+ //# sourceMappingURL=EnapoMeasurementsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnapoMeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/EnapoMeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAExF,2EAAyE;AAEzE,MAAa,sBAAuB,SAAQ,iBAA4B;;AAAxE,wDA+DC;AA9DiB,iCAAU,GAAG,oBAAoB,CAAC;AAClC,sCAAe,GAAG,6BAA6B,CAAC;AAChD,iDAA0B,GAAG,sCAAsC,CAAC;AAUpE,qCAAc,GAAmE;IAC3F,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;IACD,KAAK,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;QAC/B,SAAS,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC;AAEY,iCAAU,GAA4C;IAChE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;YACxD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,4CAAqB,EAAE;YACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3C;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,CAAC;KAC/F;CACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface IEnapoMeasurementsDto {
2
+ eic: string;
3
+ value: number;
4
+ timestamp: Date;
5
+ var: string;
6
+ source: string;
7
+ place_id: string;
8
+ device_serial_number: string;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IEnapoMeasurmentsDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEnapoMeasurmentsDto.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IEnapoMeasurmentsDto.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.4.13-dev.1866110543",
3
+ "version": "1.4.13-dev.1899264140",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",