@golemio/energetics 1.3.0 → 1.3.1-dev.1220477132

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 (67) hide show
  1. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.d.ts +2 -2
  2. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js +4 -2
  3. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js.map +1 -1
  4. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.d.ts +2 -1
  5. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js +1 -0
  6. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map +1 -1
  7. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.d.ts +4 -0
  8. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js.map +1 -1
  9. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.d.ts +14 -0
  10. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js +80 -0
  11. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider.js.map +1 -0
  12. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.d.ts +31 -0
  13. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js +93 -0
  14. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper.js.map +1 -0
  15. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.d.ts +7 -0
  16. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.js +3 -0
  17. package/dist/integration-engine/commodity-providers/datasources/ppas-ave-api/interfaces/IAveApiDeviceDataParams.js.map +1 -0
  18. package/dist/integration-engine/commodity-providers/ioc/Di.js +6 -0
  19. package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
  20. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +3 -0
  21. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +3 -0
  22. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
  23. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.d.ts +10 -0
  24. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js +51 -0
  25. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js.map +1 -0
  26. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -1
  27. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +1 -0
  28. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -1
  29. package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.d.ts +5 -0
  30. package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.js +3 -0
  31. package/dist/integration-engine/commodity-providers/workers/interfaces/IPpasMeasurementsParams.js.map +1 -0
  32. package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.d.ts +6 -0
  33. package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.js +23 -0
  34. package/dist/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.js.map +1 -0
  35. package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.d.ts +9 -0
  36. package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js +36 -0
  37. package/dist/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.js.map +1 -0
  38. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +2 -0
  39. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -1
  40. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js +12 -0
  41. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js.map +1 -1
  42. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.d.ts +27 -0
  43. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js +169 -0
  44. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map +1 -0
  45. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts +3 -4
  46. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +3 -19
  47. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -1
  48. package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.d.ts +3 -0
  49. package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js +16 -0
  50. package/dist/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.js.map +1 -0
  51. package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.d.ts +3 -0
  52. package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js +16 -0
  53. package/dist/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.js.map +1 -0
  54. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.d.ts +5 -0
  55. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.js +3 -0
  56. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.js.map +1 -0
  57. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.d.ts +5 -0
  58. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.js +3 -0
  59. package/dist/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.js.map +1 -0
  60. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.d.ts +4 -0
  61. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js +9 -0
  62. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js.map +1 -0
  63. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +2 -1
  64. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +3 -1
  65. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +2 -0
  66. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -1
  67. package/package.json +1 -1
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AbstractFetchMeasurementsTask = void 0;
13
+ const constants_1 = require("../../constants");
14
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
15
+ const MEASUREMENTS_BATCH_SIZE = 5000;
16
+ class AbstractFetchMeasurementsTask extends integration_engine_1.AbstractTask {
17
+ constructor() {
18
+ super(constants_1.WORKER_NAME);
19
+ }
20
+ saveConsumptionData(data) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
23
+ let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
24
+ // Remove duplicated measurements from the batch
25
+ batch = batch.filter((item, index, self) => index ===
26
+ self.findIndex((t) => t.timestamp.getTime() === item.timestamp.getTime() &&
27
+ t.addr === item.addr &&
28
+ t.variable === item.variable &&
29
+ t.meter === item.meter));
30
+ yield this.measurementRepository.bulkSave(batch);
31
+ }
32
+ });
33
+ }
34
+ }
35
+ exports.AbstractFetchMeasurementsTask = AbstractFetchMeasurementsTask;
36
+ //# sourceMappingURL=AbstractFetchMeasurementsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractFetchMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/AbstractFetchMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAgE;AAGhE,8EAAqE;AAGrE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAsB,6BAA6D,SAAQ,iCAAe;IAGtG;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;IACvB,CAAC;IAEe,mBAAmB,CAAC,IAAuB;;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE;gBAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;gBAEvD,gDAAgD;gBAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAChB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAClB,KAAK;oBACL,IAAI,CAAC,SAAS,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;wBAClD,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;wBACpB,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;wBAC5B,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CACR,CAAC;gBAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACpD;QACL,CAAC;KAAA;CACJ;AA3BD,sEA2BC"}
@@ -35,6 +35,8 @@ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
35
35
  const optionLookupKeys = {
36
36
  [CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater]: "CemWaterOptions",
37
37
  [CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaElectro]: "CemElectroOptions",
38
+ [CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV]: "AveVOptions",
39
+ [CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM]: "AveMOptions",
38
40
  };
39
41
  let FetchMeasurementOptionsStaticDataTask = exports.FetchMeasurementOptionsStaticDataTask = class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
40
42
  constructor(logger, staticDataSourceProvider, meterSettingsRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CACnE,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
1
+ {"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAChE,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;CAClD,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
@@ -35,6 +35,7 @@ let FetchMeasurementsFromProvidersTask = exports.FetchMeasurementsFromProvidersT
35
35
  execute(data) {
36
36
  return __awaiter(this, void 0, void 0, function* () {
37
37
  for (const { dateFrom, dateTo } of this.generateDateParams(data)) {
38
+ // Veolia
38
39
  integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchVeoliaMeasurements", {
39
40
  providerType: CommodityProviderTypeEnum_1.CommodityProviderType.CemApiVeoliaWater,
40
41
  dateFrom,
@@ -45,6 +46,17 @@ let FetchMeasurementsFromProvidersTask = exports.FetchMeasurementsFromProvidersT
45
46
  dateFrom,
46
47
  dateTo,
47
48
  });
49
+ // PPAS - Pražská plynárenská
50
+ integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchPpasMeasurements", {
51
+ providerType: CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV,
52
+ dateFrom,
53
+ dateTo,
54
+ });
55
+ integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "fetchPpasMeasurements", {
56
+ providerType: CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM,
57
+ dateFrom,
58
+ dateTo,
59
+ });
48
60
  }
49
61
  });
50
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FetchMeasurementsFromProvidersTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsF;AACtF,8EAAmF;AACnF,2DAAqE;AACrE,iEAAgE;AAGhE,yEAAgF;AAGzE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,iCAAmC;IAKvF;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QALP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,qDAA8B,CAAC;IAIxD,CAAC;IAEY,OAAO,CAAC,IAA2B;;YAC5C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9D,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,iBAAiB;oBACrD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,mBAAmB;oBACvD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEO,CAAC,kBAAkB,CAAC,IAA2B;QACnD,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;aAC1B,CAAC;SACL;IACL,CAAC;CACJ,CAAA;6CAxCY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;;GACA,kCAAkC,CAwC9C"}
1
+ {"version":3,"file":"FetchMeasurementsFromProvidersTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uHAAsF;AACtF,8EAAmF;AACnF,2DAAqE;AACrE,iEAAgE;AAGhE,yEAAgF;AAGzE,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,iCAAmC;IAKvF;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QALP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,qDAA8B,CAAC;IAIxD,CAAC;IAEY,OAAO,CAAC,IAA2B;;YAC5C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAC9D,SAAS;gBACT,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,iBAAiB;oBACrD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE;oBAC5E,YAAY,EAAE,iDAAqB,CAAC,mBAAmB;oBACvD,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE;oBAC1E,YAAY,EAAE,iDAAqB,CAAC,QAAQ;oBAC5C,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;gBAEH,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE;oBAC1E,YAAY,EAAE,iDAAqB,CAAC,QAAQ;oBAC5C,QAAQ;oBACR,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEO,CAAC,kBAAkB,CAAC,IAA2B;QACnD,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExC,MAAM;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE;gBAC3B,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE;aAC1B,CAAC;SACL;IACL,CAAC;CACJ,CAAA;6CAtDY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;;GACA,kCAAkC,CAsD9C"}
@@ -0,0 +1,27 @@
1
+ import { ICommodityProviderDataSourceFactory } from "../../datasources/interfaces/ICommodityProviderDataSourceFactory";
2
+ import { MeasurementRepository } from "../../repositories/MeasurementRepository";
3
+ import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
4
+ import { AveMeasurementTransformation } from "../../transformations/AveMeasurementTransformation";
5
+ import { ILogger } from "@golemio/core/dist/helpers";
6
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
7
+ import { IPpasMeasurementsParams } from "../interfaces/IPpasMeasurementsParams";
8
+ import { PpasMeasurementsValidationSchema } from "../schema/PpasMeasurementsSchema";
9
+ import { AbstractFetchMeasurementsTask } from "./AbstractFetchMeasurementsTask";
10
+ export declare class FetchPpasMeasurementsTask extends AbstractFetchMeasurementsTask<IPpasMeasurementsParams> {
11
+ private config;
12
+ private logger;
13
+ private dataSourceFactory;
14
+ private measurementTransformation;
15
+ protected measurementRepository: MeasurementRepository;
16
+ private meterSettingsRepository;
17
+ readonly queueName = "fetchPpasMeasurements";
18
+ readonly queueTtl: number;
19
+ readonly schema: typeof PpasMeasurementsValidationSchema;
20
+ constructor(config: ISimpleConfig, logger: ILogger, dataSourceFactory: ICommodityProviderDataSourceFactory, measurementTransformation: AveMeasurementTransformation, measurementRepository: MeasurementRepository, meterSettingsRepository: StaticMeterSettingsRepository);
21
+ execute(data: IPpasMeasurementsParams): Promise<void>;
22
+ private getProviderConfig;
23
+ /** Splits the measurement options into individual options (multiple variables) */
24
+ private splitOptionsByVars;
25
+ private generateMeasurements;
26
+ private getDataFromDataSource;
27
+ }
@@ -0,0 +1,169 @@
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
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
24
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
25
+ var m = o[Symbol.asyncIterator], i;
26
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
27
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
28
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
29
+ };
30
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
31
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
32
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
33
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
34
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
35
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
36
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
37
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
38
+ function fulfill(value) { resume("next", value); }
39
+ function reject(value) { resume("throw", value); }
40
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.FetchPpasMeasurementsTask = void 0;
44
+ const CommodityProviderEnum_1 = require("../../datasources/helpers/CommodityProviderEnum");
45
+ const PpasAveApiHelper_1 = require("../../datasources/ppas-ave-api/helpers/PpasAveApiHelper");
46
+ const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
47
+ const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
48
+ const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
49
+ const AveMeasurementTransformation_1 = require("../../transformations/AveMeasurementTransformation");
50
+ const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
51
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
52
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
53
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
54
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
55
+ const PpasMeasurementsSchema_1 = require("../schema/PpasMeasurementsSchema");
56
+ const AbstractFetchMeasurementsTask_1 = require("./AbstractFetchMeasurementsTask");
57
+ let FetchPpasMeasurementsTask = exports.FetchPpasMeasurementsTask = class FetchPpasMeasurementsTask extends AbstractFetchMeasurementsTask_1.AbstractFetchMeasurementsTask {
58
+ constructor(config, logger, dataSourceFactory, measurementTransformation, measurementRepository, meterSettingsRepository) {
59
+ super();
60
+ this.config = config;
61
+ this.logger = logger;
62
+ this.dataSourceFactory = dataSourceFactory;
63
+ this.measurementTransformation = measurementTransformation;
64
+ this.measurementRepository = measurementRepository;
65
+ this.meterSettingsRepository = meterSettingsRepository;
66
+ this.queueName = "fetchPpasMeasurements";
67
+ this.queueTtl = 60 * 60 * 1000;
68
+ this.schema = PpasMeasurementsSchema_1.PpasMeasurementsValidationSchema;
69
+ }
70
+ execute(data) {
71
+ var _a, e_1, _b, _c;
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ let measurementOptions = yield this.meterSettingsRepository.getData(data.providerType, StaticDataResourceTypeEnum_1.StaticDataResourceType.MeasurementOptions);
74
+ if (!measurementOptions) {
75
+ throw new golemio_errors_1.GeneralError("Measurement options not found", this.constructor.name);
76
+ }
77
+ else {
78
+ measurementOptions = this.splitOptionsByVars(measurementOptions);
79
+ }
80
+ const { baseUrl, config } = this.getProviderConfig(data);
81
+ const aveApiHelper = new PpasAveApiHelper_1.PpasAveApiHelper(baseUrl, config);
82
+ const sessionId = yield aveApiHelper.createSession();
83
+ try {
84
+ const places = yield this.getDataFromDataSource("Places", sessionId);
85
+ let consumptionData = [];
86
+ for (const place of places) {
87
+ const options = measurementOptions.filter((item) => item.MeterSerialNumber === place.DeviceSerialNumber);
88
+ if (options.length === 0) {
89
+ continue;
90
+ }
91
+ this.logger.info(`Fetching data for device ${place.DeviceSerialNumber}`);
92
+ const measurementChunkGenerator = this.generateMeasurements(Object.assign(Object.assign({}, data), { placeId: place.Id }), sessionId);
93
+ try {
94
+ for (var _d = true, measurementChunkGenerator_1 = (e_1 = void 0, __asyncValues(measurementChunkGenerator)), measurementChunkGenerator_1_1; measurementChunkGenerator_1_1 = yield measurementChunkGenerator_1.next(), _a = measurementChunkGenerator_1_1.done, !_a; _d = true) {
95
+ _c = measurementChunkGenerator_1_1.value;
96
+ _d = false;
97
+ const measurements = _c;
98
+ for (const option of options) {
99
+ const consumptionBatch = measurements.map((item) => this.measurementTransformation.transformElement(Object.assign(Object.assign({}, item), option)));
100
+ consumptionData = consumptionData.concat(consumptionBatch);
101
+ }
102
+ }
103
+ }
104
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
105
+ finally {
106
+ try {
107
+ if (!_d && !_a && (_b = measurementChunkGenerator_1.return)) yield _b.call(measurementChunkGenerator_1);
108
+ }
109
+ finally { if (e_1) throw e_1.error; }
110
+ }
111
+ }
112
+ yield this.saveConsumptionData(consumptionData);
113
+ }
114
+ finally {
115
+ yield aveApiHelper.terminateSession(sessionId);
116
+ }
117
+ });
118
+ }
119
+ getProviderConfig(data) {
120
+ return {
121
+ baseUrl: this.config.getValue("module.energetics.commodityProviders.ppas_ave_api.baseUrl"),
122
+ config: this.config.getValue(`module.energetics.commodityProviders.${data.providerType}`),
123
+ };
124
+ }
125
+ /** Splits the measurement options into individual options (multiple variables) */
126
+ splitOptionsByVars(options) {
127
+ let result = [];
128
+ for (const option of options) {
129
+ const vars = option.Var.split("|");
130
+ result = result.concat(vars.map((v) => (Object.assign(Object.assign({}, option), { Var: v }))));
131
+ }
132
+ return result;
133
+ }
134
+ generateMeasurements(data, sessionId) {
135
+ return __asyncGenerator(this, arguments, function* generateMeasurements_1() {
136
+ const dateFrom = luxon_1.DateTime.fromISO(data.dateFrom).startOf("day");
137
+ const dateTo = luxon_1.DateTime.fromISO(data.dateTo).startOf("day");
138
+ const intervals = luxon_1.Interval.fromDateTimes(dateFrom, dateTo).splitBy({ days: 5 });
139
+ for (const interval of intervals) {
140
+ const start = interval.start.startOf("day");
141
+ const end = interval.end.startOf("day");
142
+ yield yield __await(this.getDataFromDataSource("DeviceData", sessionId, {
143
+ placeId: data.placeId,
144
+ dateFrom: start.toISODate(),
145
+ dateTo: end.toISODate(),
146
+ isoDate: "1",
147
+ dataType: "2", // fill all measurement values (we need the OperatingAmount and ConvertDifference values)
148
+ }));
149
+ }
150
+ });
151
+ }
152
+ getDataFromDataSource(resourceTypeKey, sessionId, params) {
153
+ const dataSource = this.dataSourceFactory.getDataSource(CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi, PpasAveApiHelper_1.PpasAveApiHelper.resourceType[resourceTypeKey], sessionId, params);
154
+ return dataSource.getAll();
155
+ }
156
+ };
157
+ exports.FetchPpasMeasurementsTask = FetchPpasMeasurementsTask = __decorate([
158
+ (0, tsyringe_1.injectable)(),
159
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
160
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
161
+ __param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.CommodityProviderDataSourceFactory)),
162
+ __param(3, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.AveMeasurementTransformation)),
163
+ __param(4, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository)),
164
+ __param(5, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
165
+ __metadata("design:paramtypes", [Object, Object, Object, AveMeasurementTransformation_1.AveMeasurementTransformation,
166
+ MeasurementRepository_1.MeasurementRepository,
167
+ StaticMeterSettingsRepository_1.StaticMeterSettingsRepository])
168
+ ], FetchPpasMeasurementsTask);
169
+ //# sourceMappingURL=FetchPpasMeasurementsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchPpasMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,15 @@ import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSet
4
4
  import { CemMeasurementTransformation } from "../../transformations/CemMeasurementTransformation";
5
5
  import { ILogger } from "@golemio/core/dist/helpers";
6
6
  import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
7
- import { AbstractTask } from "@golemio/core/dist/integration-engine";
8
7
  import { IVeoliaMeasurementsParams } from "../interfaces/IVeoliaMeasurementsParams";
9
8
  import { VeoliaMeasurementsValidationSchema } from "../schema/VeoliaMeasurementsSchema";
10
- export declare class FetchVeoliaMeasurementsTask extends AbstractTask<IVeoliaMeasurementsParams> {
9
+ import { AbstractFetchMeasurementsTask } from "./AbstractFetchMeasurementsTask";
10
+ export declare class FetchVeoliaMeasurementsTask extends AbstractFetchMeasurementsTask<IVeoliaMeasurementsParams> {
11
11
  private config;
12
12
  private logger;
13
13
  private dataSourceFactory;
14
14
  private measurementTransformation;
15
- private measurementRepository;
15
+ protected measurementRepository: MeasurementRepository;
16
16
  private meterSettingsRepository;
17
17
  readonly queueName = "fetchVeoliaMeasurements";
18
18
  readonly queueTtl: number;
@@ -22,5 +22,4 @@ export declare class FetchVeoliaMeasurementsTask extends AbstractTask<IVeoliaMea
22
22
  private getProviderConfig;
23
23
  private generateMeasurements;
24
24
  private getDataFromDataSource;
25
- private saveConsumptionData;
26
25
  }
@@ -41,7 +41,6 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.FetchVeoliaMeasurementsTask = void 0;
44
- const constants_1 = require("../../constants");
45
44
  const CommodityProviderEnum_1 = require("../../datasources/helpers/CommodityProviderEnum");
46
45
  const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
47
46
  const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
@@ -50,15 +49,14 @@ const CemMeasurementTransformation_1 = require("../../transformations/CemMeasure
50
49
  const helpers_1 = require("../../../helpers");
51
50
  const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
52
51
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
53
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
54
52
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
55
53
  const luxon_1 = require("@golemio/core/dist/shared/luxon");
56
54
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
57
55
  const VeoliaMeasurementsSchema_1 = require("../schema/VeoliaMeasurementsSchema");
58
- const MEASUREMENTS_BATCH_SIZE = 5000;
59
- let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class FetchVeoliaMeasurementsTask extends integration_engine_1.AbstractTask {
56
+ const AbstractFetchMeasurementsTask_1 = require("./AbstractFetchMeasurementsTask");
57
+ let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class FetchVeoliaMeasurementsTask extends AbstractFetchMeasurementsTask_1.AbstractFetchMeasurementsTask {
60
58
  constructor(config, logger, dataSourceFactory, measurementTransformation, measurementRepository, meterSettingsRepository) {
61
- super(constants_1.WORKER_NAME);
59
+ super();
62
60
  this.config = config;
63
61
  this.logger = logger;
64
62
  this.dataSourceFactory = dataSourceFactory;
@@ -143,20 +141,6 @@ let FetchVeoliaMeasurementsTask = exports.FetchVeoliaMeasurementsTask = class Fe
143
141
  const dataSource = this.dataSourceFactory.getDataSource(CommodityProviderEnum_1.CommodityProvider.UnimonitorCemApi, helpers_1.UnimonitorCemApiHelper.resourceType[resourceTypeKey], authCookie, params);
144
142
  return dataSource.getAll();
145
143
  }
146
- saveConsumptionData(data) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- for (let i = 0; i < data.length; i += MEASUREMENTS_BATCH_SIZE) {
149
- let batch = data.slice(i, i + MEASUREMENTS_BATCH_SIZE);
150
- // Remove duplicated measurements from the batch
151
- batch = batch.filter((item, index, self) => index ===
152
- self.findIndex((t) => t.timestamp.getTime() === item.timestamp.getTime() &&
153
- t.addr === item.addr &&
154
- t.variable === item.variable &&
155
- t.meter === item.meter));
156
- yield this.measurementRepository.bulkSave(batch);
157
- }
158
- });
159
- }
160
144
  };
161
145
  exports.FetchVeoliaMeasurementsTask = FetchVeoliaMeasurementsTask = __decorate([
162
146
  (0, tsyringe_1.injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"FetchVeoliaMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FetchVeoliaMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IAveApiDeviceDataDto } from "./interfaces/IAveApiDeviceDataDto";
3
+ export declare const aveApiDeviceDataJsonSchema: JSONSchemaType<IAveApiDeviceDataDto[]>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aveApiDeviceDataJsonSchema = void 0;
4
+ exports.aveApiDeviceDataJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ StandardTime: { type: "string" },
10
+ OperatingAmount: { type: "number" },
11
+ ConvertDifference: { type: "number" },
12
+ },
13
+ required: ["StandardTime", "OperatingAmount", "ConvertDifference"],
14
+ },
15
+ };
16
+ //# sourceMappingURL=AveApiDeviceDataJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AveApiDeviceDataJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAA2C;IAC9E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxC;QACD,QAAQ,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;KACrE;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IAveApiPlaceDto } from "./interfaces/IAveApiPlaceDto";
3
+ export declare const aveApiPlacesJsonSchema: JSONSchemaType<IAveApiPlaceDto[]>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aveApiPlacesJsonSchema = void 0;
4
+ exports.aveApiPlacesJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ Id: { type: "number" },
10
+ Eic: { type: "string" },
11
+ DeviceSerialNumber: { type: "string" },
12
+ },
13
+ required: ["Id", "Eic", "DeviceSerialNumber"],
14
+ },
15
+ };
16
+ //# sourceMappingURL=AveApiPlacesJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AveApiPlacesJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAsC;IACrE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC;KAChD;CACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface IAveApiDeviceDataDto {
2
+ StandardTime: string;
3
+ OperatingAmount: number;
4
+ ConvertDifference: number;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAveApiDeviceDataDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAveApiDeviceDataDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface IAveApiPlaceDto {
2
+ Id: number;
3
+ Eic: string;
4
+ DeviceSerialNumber: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAveApiPlaceDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAveApiPlaceDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/IAveApiPlaceDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare enum MeasurementVariable {
2
+ Core = "core",
3
+ Core2 = "core2"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MeasurementVariable = void 0;
4
+ var MeasurementVariable;
5
+ (function (MeasurementVariable) {
6
+ MeasurementVariable["Core"] = "core";
7
+ MeasurementVariable["Core2"] = "core2";
8
+ })(MeasurementVariable || (exports.MeasurementVariable = MeasurementVariable = {}));
9
+ //# sourceMappingURL=MeasurementVariableEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementVariableEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/helpers/MeasurementVariableEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACnB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B"}
@@ -1,3 +1,4 @@
1
+ import { MeasurementVariable } from "../helpers/MeasurementVariableEnum";
1
2
  export interface IStaticMeterSettings {
2
3
  [providerOptionKey: string]: {
3
4
  MeasurementOptions: IMeasurementOption[];
@@ -9,5 +10,5 @@ export interface IMeasurementOption {
9
10
  Addr: string;
10
11
  Meter: string;
11
12
  Type: string;
12
- Var: string;
13
+ Var: MeasurementVariable | string;
13
14
  }
@@ -1,4 +1,6 @@
1
1
  export declare enum CommodityProviderType {
2
2
  CemApiVeoliaWater = "cem_api_veolia_water",
3
- CemApiVeoliaElectro = "cem_api_veolia_electro"
3
+ CemApiVeoliaElectro = "cem_api_veolia_electro",
4
+ PpasAveV = "ppas_ave_api_v",
5
+ PpasAveM = "ppas_ave_api_m"
4
6
  }
@@ -5,5 +5,7 @@ var CommodityProviderType;
5
5
  (function (CommodityProviderType) {
6
6
  CommodityProviderType["CemApiVeoliaWater"] = "cem_api_veolia_water";
7
7
  CommodityProviderType["CemApiVeoliaElectro"] = "cem_api_veolia_electro";
8
+ CommodityProviderType["PpasAveV"] = "ppas_ave_api_v";
9
+ CommodityProviderType["PpasAveM"] = "ppas_ave_api_m";
8
10
  })(CommodityProviderType || (exports.CommodityProviderType = CommodityProviderType = {}));
9
11
  //# sourceMappingURL=CommodityProviderTypeEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;AAClD,CAAC,EAHW,qBAAqB,qCAArB,qBAAqB,QAGhC"}
1
+ {"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;IAC9C,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;AAC/B,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.3.0",
3
+ "version": "1.3.1-dev.1220477132",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",