@golemio/energetics 1.2.11 → 1.2.12-dev.1210136153

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/db/example/.config.json +3 -0
  2. package/db/example/00_clear_test_data.sql +1 -0
  3. package/db/migrations/postgresql/20240304150326-commodity.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240304150326-commodity-down.sql +2 -0
  5. package/db/migrations/postgresql/sqls/20240304150326-commodity-up.sql +38 -0
  6. package/dist/integration-engine/commodity-providers/constants.d.ts +1 -0
  7. package/dist/integration-engine/commodity-providers/constants.js +5 -0
  8. package/dist/integration-engine/commodity-providers/constants.js.map +1 -0
  9. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.d.ts +8 -0
  10. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js +34 -0
  11. package/dist/integration-engine/commodity-providers/datasources/CommodityProviderDataSourceFactory.js.map +1 -0
  12. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.d.ts +13 -0
  13. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js +70 -0
  14. package/dist/integration-engine/commodity-providers/datasources/cem-api/CemApiDataSourceProvider.js.map +1 -0
  15. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.d.ts +5 -0
  16. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js +3 -0
  17. package/dist/integration-engine/commodity-providers/datasources/cem-api/interfaces/ICemApiMeasurementsParams.js.map +1 -0
  18. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.d.ts +3 -0
  19. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js +8 -0
  20. package/dist/integration-engine/commodity-providers/datasources/helpers/CommodityProviderEnum.js.map +1 -0
  21. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.d.ts +13 -0
  22. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js +4 -0
  23. package/dist/integration-engine/commodity-providers/datasources/interfaces/ICommodityProviderDataSourceFactory.js.map +1 -0
  24. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.d.ts +4 -0
  25. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js +3 -0
  26. package/dist/integration-engine/commodity-providers/datasources/interfaces/IDataSourceProvider.js.map +1 -0
  27. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.d.ts +11 -0
  28. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js +49 -0
  29. package/dist/integration-engine/commodity-providers/datasources/static-data/StaticMeterSettingsDataSourceProvider.js.map +1 -0
  30. package/dist/integration-engine/commodity-providers/ioc/Di.d.ts +3 -0
  31. package/dist/integration-engine/commodity-providers/ioc/Di.js +37 -0
  32. package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -0
  33. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +12 -0
  34. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +16 -0
  35. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -0
  36. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.d.ts +13 -0
  37. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js +67 -0
  38. package/dist/integration-engine/commodity-providers/repositories/MeasurementRepository.js.map +1 -0
  39. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.d.ts +16 -0
  40. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js +80 -0
  41. package/dist/integration-engine/commodity-providers/repositories/StaticMeterSettingsRepository.js.map +1 -0
  42. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +8 -0
  43. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +34 -0
  44. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -0
  45. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.d.ts +6 -0
  46. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +23 -0
  47. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -0
  48. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.d.ts +3 -0
  49. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js +3 -0
  50. package/dist/integration-engine/commodity-providers/workers/interfaces/IDataEntrypointParams.js.map +1 -0
  51. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.d.ts +4 -0
  52. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js +3 -0
  53. package/dist/integration-engine/commodity-providers/workers/interfaces/IMeasurementsParams.js.map +1 -0
  54. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.d.ts +5 -0
  55. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js +3 -0
  56. package/dist/integration-engine/commodity-providers/workers/interfaces/IVeoliaMeasurementsParams.js.map +1 -0
  57. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.d.ts +4 -0
  58. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js +21 -0
  59. package/dist/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.js.map +1 -0
  60. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.d.ts +5 -0
  61. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js +25 -0
  62. package/dist/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.js.map +1 -0
  63. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.d.ts +6 -0
  64. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js +23 -0
  65. package/dist/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.js.map +1 -0
  66. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.d.ts +14 -0
  67. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +78 -0
  68. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -0
  69. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.d.ts +11 -0
  70. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js +69 -0
  71. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementsFromProvidersTask.js.map +1 -0
  72. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.d.ts +26 -0
  73. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +173 -0
  74. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -0
  75. package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js +2 -2
  76. package/dist/integration-engine/datasources/vpalace/VpalaceMeasurementDataSource.js.map +1 -1
  77. package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js +2 -2
  78. package/dist/integration-engine/datasources/vpalace/VpalaceMeasuringEquipmentDataSource.js.map +1 -1
  79. package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js +2 -2
  80. package/dist/integration-engine/datasources/vpalace/VpalaceMeterTypeDataSource.js.map +1 -1
  81. package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js +2 -2
  82. package/dist/integration-engine/datasources/vpalace/VpalaceTypeMeasuringEquipmentDataSource.js.map +1 -1
  83. package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js +2 -2
  84. package/dist/integration-engine/datasources/vpalace/VpalaceUnitsDataSource.js.map +1 -1
  85. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.d.ts +19 -11
  86. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js +23 -39
  87. package/dist/integration-engine/helpers/UnimonitorCemApiHelper.js.map +1 -1
  88. package/dist/integration-engine/index.js +2 -1
  89. package/dist/integration-engine/index.js.map +1 -1
  90. package/dist/integration-engine/ioc/Di.js +4 -6
  91. package/dist/integration-engine/ioc/Di.js.map +1 -1
  92. package/dist/integration-engine/ioc/ModuleContainer.d.ts +0 -1
  93. package/dist/integration-engine/ioc/ModuleContainer.js +0 -2
  94. package/dist/integration-engine/ioc/ModuleContainer.js.map +1 -1
  95. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.d.ts +5 -5
  96. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js +15 -10
  97. package/dist/integration-engine/tasks/vpalace/FetchXDaysDataTask.js.map +1 -1
  98. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.d.ts +5 -3
  99. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js +15 -7
  100. package/dist/integration-engine/tasks/vpalace/FetchXHoursDataTask.js.map +1 -1
  101. package/dist/schema-definitions/constants.d.ts +1 -0
  102. package/dist/schema-definitions/constants.js +5 -0
  103. package/dist/schema-definitions/constants.js.map +1 -0
  104. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.d.ts +3 -0
  105. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +29 -0
  106. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -0
  107. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.d.ts +3 -0
  108. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js +15 -0
  109. package/dist/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.js.map +1 -0
  110. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.d.ts +3 -0
  111. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js +15 -0
  112. package/dist/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.js.map +1 -0
  113. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.d.ts +3 -0
  114. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js +15 -0
  115. package/dist/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.js.map +1 -0
  116. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.d.ts +4 -0
  117. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js +3 -0
  118. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.js.map +1 -0
  119. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.d.ts +4 -0
  120. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js +3 -0
  121. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.js.map +1 -0
  122. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.d.ts +4 -0
  123. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js +3 -0
  124. package/dist/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.js.map +1 -0
  125. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +13 -0
  126. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js +3 -0
  127. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.js.map +1 -0
  128. package/dist/schema-definitions/models/MeasurementsModel.d.ts +17 -0
  129. package/dist/schema-definitions/models/MeasurementsModel.js +56 -0
  130. package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -0
  131. package/dist/schema-definitions/models/StaticMeterSettingsModel.d.ts +13 -0
  132. package/dist/schema-definitions/models/StaticMeterSettingsModel.js +35 -0
  133. package/dist/schema-definitions/models/StaticMeterSettingsModel.js.map +1 -0
  134. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +4 -0
  135. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +9 -0
  136. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -0
  137. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.d.ts +3 -0
  138. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js +8 -0
  139. package/dist/schema-definitions/models/helpers/StaticDataResourceTypeEnum.js.map +1 -0
  140. package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +10 -0
  141. package/dist/schema-definitions/models/interfaces/IMeasurementDto.js +3 -0
  142. package/dist/schema-definitions/models/interfaces/IMeasurementDto.js.map +1 -0
  143. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.d.ts +11 -0
  144. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js +4 -0
  145. package/dist/schema-definitions/models/interfaces/IStaticDataOutputDto.js.map +1 -0
  146. package/package.json +2 -1
@@ -32,14 +32,15 @@ const luxon_1 = require("@golemio/core/dist/shared/luxon");
32
32
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
33
33
  const FetchDateFactory_1 = require("./FetchDateFactory");
34
34
  let FetchXDaysDataTask = class FetchXDaysDataTask extends AbstractTask_1.AbstractTask {
35
- constructor(fetchDataFactory, unimonitorCemApi, databaseConnector) {
35
+ constructor(config, fetchDataFactory) {
36
36
  super(_sch_1.EnergeticsSchema.name.toLowerCase());
37
+ this.config = config;
37
38
  this.fetchDataFactory = fetchDataFactory;
38
- this.unimonitorCemApi = unimonitorCemApi;
39
- this.databaseConnector = databaseConnector;
40
39
  this.queueName = "fetchVpalacXDaysData";
41
40
  this.schema = FetchXDaysDataValidationSchema_1.FetchXDaysDataValidationSchema;
42
41
  this.queueTtl = 24 * 60 * 60 * 1000; // 24 hours
42
+ const { url, config: cemConfig } = this.getProviderConfig();
43
+ this.unimonitorCemApi = new helpers_1.UnimonitorCemApiHelper(url, cemConfig);
43
44
  }
44
45
  execute(msg) {
45
46
  return __awaiter(this, void 0, void 0, function* () {
@@ -50,8 +51,8 @@ let FetchXDaysDataTask = class FetchXDaysDataTask extends AbstractTask_1.Abstrac
50
51
  const dateFrom = currentDate.minus({ days: targetDays });
51
52
  const intervals = luxon_1.Interval.fromDateTimes(dateFrom, currentDate).splitBy({ days: 1 });
52
53
  for (const interval of intervals) {
53
- const from = interval.start.startOf("day").toFormat(helpers_1.UnimonitorCemApi.API_DATE_FORMAT);
54
- const to = interval.end.startOf("day").toFormat(helpers_1.UnimonitorCemApi.API_DATE_FORMAT);
54
+ const from = interval.start.startOf("day").toFormat(helpers_1.UnimonitorCemApiHelper.API_DATE_FORMAT);
55
+ const to = interval.end.startOf("day").toFormat(helpers_1.UnimonitorCemApiHelper.API_DATE_FORMAT);
55
56
  yield this.fetchDataFactory.fetchAndSaveData(from, to, authCookie);
56
57
  }
57
58
  }
@@ -63,14 +64,18 @@ let FetchXDaysDataTask = class FetchXDaysDataTask extends AbstractTask_1.Abstrac
63
64
  }
64
65
  });
65
66
  }
67
+ getProviderConfig() {
68
+ return {
69
+ url: this.config.getValue("module.UnimonitorCemApiEnergetics.url"),
70
+ config: this.config.getValue("module.UnimonitorCemApiEnergetics"),
71
+ };
72
+ }
66
73
  };
67
74
  FetchXDaysDataTask = __decorate([
68
75
  (0, tsyringe_1.injectable)(),
69
- __param(0, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.FetchDateFactory)),
70
- __param(1, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.UnimonitorCemApi)),
71
- __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
72
- __metadata("design:paramtypes", [FetchDateFactory_1.FetchDateFactory,
73
- helpers_1.UnimonitorCemApi, Object])
76
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
77
+ __param(1, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.FetchDateFactory)),
78
+ __metadata("design:paramtypes", [Object, FetchDateFactory_1.FetchDateFactory])
74
79
  ], FetchXDaysDataTask);
75
80
  exports.default = FetchXDaysDataTask;
76
81
  //# sourceMappingURL=FetchXDaysDataTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FetchXDaysDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/vpalace/FetchXDaysDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+C;AAE/C,+DAA+D;AAC/D,wGAAmG;AACnG,sDAAwC;AAExC,wEAAqE;AACrE,6FAA0F;AAC1F,6EAAwE;AACxE,2DAAqE;AACrE,iEAAwE;AACxE,yDAAsD;AAGvC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAA6B;IAKzE,YAEI,gBAAmD,EAGnD,gBAAmD,EACd,iBAA6C;QAElF,KAAK,CAAC,uBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAN1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAGlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QACN,sBAAiB,GAAjB,iBAAiB,CAAoB;QAVtE,cAAS,GAAG,sBAAsB,CAAC;QACnC,WAAM,GAAG,+DAA8B,CAAC;QACxC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IAW3D,CAAC;IAEe,OAAO,CAAC,GAAoB;;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI;gBACA,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBAClC,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAErF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0BAAgB,CAAC,eAAe,CAAC,CAAC;oBACtF,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0BAAgB,CAAC,eAAe,CAAC,CAAC;oBAElF,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;iBACtE;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,2CAA2C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACnG;oBAAS;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aAC5D;QACL,CAAC;KAAA;CACJ,CAAA;AApCoB,kBAAkB;IADtC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;IAG7C,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;IAE7C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;qCAJD,mCAAgB;QAGhB,0BAAgB;GAVtC,kBAAkB,CAoCtC;kBApCoB,kBAAkB"}
1
+ {"version":3,"file":"FetchXDaysDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/vpalace/FetchXDaysDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAiE;AAEjE,+DAA+D;AAC/D,wGAAmG;AACnG,sDAAwC;AAExC,wEAAqE;AACrE,6FAA0F;AAC1F,6EAAwE;AACxE,2DAAqE;AACrE,iEAAwE;AACxE,yDAAsD;AAGvC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAA6B;IAMzE,YACoC,MAA6B,EAE7D,gBAAmD;QAEnD,KAAK,CAAC,uBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAJH,WAAM,GAAN,MAAM,CAAe;QAE5C,qBAAgB,GAAhB,gBAAgB,CAAkB;QARvC,cAAS,GAAG,sBAAsB,CAAC;QACnC,WAAM,GAAG,+DAA8B,CAAC;QACxC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;QAUvD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gCAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAEe,OAAO,CAAC,GAAoB;;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI;gBACA,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBAClC,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAErF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gCAAsB,CAAC,eAAe,CAAC,CAAC;oBAC5F,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gCAAsB,CAAC,eAAe,CAAC,CAAC;oBAExF,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;iBACtE;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,2CAA2C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACnG;oBAAS;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aAC5D;QACL,CAAC;KAAA;IAEO,iBAAiB;QACrB,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAW;YAC5E,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAe;SAClF,CAAC;IACN,CAAC;CACJ,CAAA;AA5CoB,kBAAkB;IADtC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;6CACX,mCAAgB;GATtC,kBAAkB,CA4CtC;kBA5CoB,kBAAkB"}
@@ -1,14 +1,16 @@
1
- import { UnimonitorCemApi } from "../../helpers";
2
1
  import { IFetchXHoursDataInput } from "../../interfaces/vpalace/IFetchXHoursDataInput";
3
2
  import { FetchXHoursDataValidationSchema } from "../../schema/vpalace/FetchXHoursDataValidationSchema";
3
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
4
4
  import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
5
5
  import { FetchDateFactory } from "./FetchDateFactory";
6
6
  export default class FetchXHoursDataTask extends AbstractTask<IFetchXHoursDataInput> {
7
+ private config;
7
8
  private readonly fetchDataFactory;
8
- private readonly unimonitorCemApi;
9
9
  readonly queueName = "fetchVpalacXHoursData";
10
10
  readonly schema: typeof FetchXHoursDataValidationSchema;
11
11
  readonly queueTtl: number;
12
- constructor(fetchDataFactory: FetchDateFactory, unimonitorCemApi: UnimonitorCemApi);
12
+ private readonly unimonitorCemApi;
13
+ constructor(config: ISimpleConfig, fetchDataFactory: FetchDateFactory);
13
14
  protected execute(msg: IFetchXHoursDataInput): Promise<void>;
15
+ private getProviderConfig;
14
16
  }
@@ -26,25 +26,28 @@ const ModuleContainer_1 = require("../../ioc/ModuleContainer");
26
26
  const FetchXHoursDataValidationSchema_1 = require("../../schema/vpalace/FetchXHoursDataValidationSchema");
27
27
  const _sch_1 = require("../../../schema-definitions");
28
28
  const helpers_2 = require("@golemio/core/dist/helpers");
29
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
29
30
  const AbstractTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTask");
30
31
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
31
32
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
32
33
  const FetchDateFactory_1 = require("./FetchDateFactory");
33
34
  let FetchXHoursDataTask = class FetchXHoursDataTask extends AbstractTask_1.AbstractTask {
34
- constructor(fetchDataFactory, unimonitorCemApi) {
35
+ constructor(config, fetchDataFactory) {
35
36
  super(_sch_1.EnergeticsSchema.name.toLowerCase());
37
+ this.config = config;
36
38
  this.fetchDataFactory = fetchDataFactory;
37
- this.unimonitorCemApi = unimonitorCemApi;
38
39
  this.queueName = "fetchVpalacXHoursData";
39
40
  this.schema = FetchXHoursDataValidationSchema_1.FetchXHoursDataValidationSchema;
40
41
  this.queueTtl = 60 * 60 * 1000; //> 1 hour
42
+ const { url, config: cemConfig } = this.getProviderConfig();
43
+ this.unimonitorCemApi = new helpers_1.UnimonitorCemApiHelper(url, cemConfig);
41
44
  }
42
45
  execute(msg) {
43
46
  return __awaiter(this, void 0, void 0, function* () {
44
47
  const authCookie = yield this.unimonitorCemApi.createSession();
45
48
  try {
46
49
  const targetHours = msg.targetHours;
47
- const now = (0, helpers_2.dateTime)(new Date()).setTimeZone(helpers_1.UnimonitorCemApi.API_DATE_TZ);
50
+ const now = (0, helpers_2.dateTime)(new Date()).setTimeZone(helpers_1.UnimonitorCemApiHelper.API_DATE_TZ);
48
51
  const timeFrom = now.clone().subtract(targetHours, "hours").valueOf().toString();
49
52
  const timeTo = now.valueOf().toString();
50
53
  yield this.fetchDataFactory.fetchAndSaveData(timeFrom, timeTo, authCookie);
@@ -57,13 +60,18 @@ let FetchXHoursDataTask = class FetchXHoursDataTask extends AbstractTask_1.Abstr
57
60
  }
58
61
  });
59
62
  }
63
+ getProviderConfig() {
64
+ return {
65
+ url: this.config.getValue("module.UnimonitorCemApiEnergetics.url"),
66
+ config: this.config.getValue("module.UnimonitorCemApiEnergetics"),
67
+ };
68
+ }
60
69
  };
61
70
  FetchXHoursDataTask = __decorate([
62
71
  (0, tsyringe_1.injectable)(),
63
- __param(0, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.FetchDateFactory)),
64
- __param(1, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.UnimonitorCemApi)),
65
- __metadata("design:paramtypes", [FetchDateFactory_1.FetchDateFactory,
66
- helpers_1.UnimonitorCemApi])
72
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
73
+ __param(1, (0, tsyringe_1.inject)(ModuleContainer_1.ModuleContainerToken.FetchDateFactory)),
74
+ __metadata("design:paramtypes", [Object, FetchDateFactory_1.FetchDateFactory])
67
75
  ], FetchXHoursDataTask);
68
76
  exports.default = FetchXHoursDataTask;
69
77
  //# sourceMappingURL=FetchXHoursDataTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FetchXHoursDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/vpalace/FetchXHoursDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+C;AAE/C,+DAA+D;AAC/D,0GAAqG;AACrG,sDAAwC;AACxC,wDAAsD;AACtD,6FAA0F;AAC1F,6EAAwE;AACxE,iEAAwE;AACxE,yDAAsD;AAGvC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,2BAAmC;IAMhF,YAEI,gBAAmD,EAEnD,gBAAmD;QAEnD,KAAK,CAAC,uBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAJ1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAElC,qBAAgB,GAAhB,gBAAgB,CAAkB;QATvC,cAAS,GAAG,uBAAuB,CAAC;QACpC,WAAM,GAAG,iEAA+B,CAAC;QAEzC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;IASrD,CAAC;IAEe,OAAO,CAAC,GAA0B;;YAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI;gBACA,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,0BAAgB,CAAC,WAAW,CAAC,CAAC;gBAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;aAC9E;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpG;oBAAS;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aAC5D;QACL,CAAC;KAAA;CACJ,CAAA;AA7BoB,mBAAmB;IADvC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;IAE7C,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;qCADX,mCAAgB;QAEhB,0BAAgB;GAVtC,mBAAmB,CA6BvC;kBA7BoB,mBAAmB"}
1
+ {"version":3,"file":"FetchXHoursDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/tasks/vpalace/FetchXHoursDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAiE;AAEjE,+DAA+D;AAC/D,0GAAqG;AACrG,sDAAwC;AACxC,wDAAsD;AAEtD,wEAAqE;AACrE,6FAA0F;AAC1F,6EAAwE;AACxE,iEAAwE;AACxE,yDAAsD;AAGvC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,2BAAmC;IAMhF,YACoC,MAA6B,EAE7D,gBAAmD;QAEnD,KAAK,CAAC,uBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAJH,WAAM,GAAN,MAAM,CAAe;QAE5C,qBAAgB,GAAhB,gBAAgB,CAAkB;QARvC,cAAS,GAAG,uBAAuB,CAAC;QACpC,WAAM,GAAG,iEAA+B,CAAC;QACzC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;QAUjD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gCAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAEe,OAAO,CAAC,GAA0B;;YAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI;gBACA,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,gCAAsB,CAAC,WAAW,CAAC,CAAC;gBACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;aAC9E;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpG;oBAAS;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aAC5D;QACL,CAAC;KAAA;IAEO,iBAAiB;QACrB,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAW;YAC5E,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAe;SAClF,CAAC;IACN,CAAC;CACJ,CAAA;AAtCoB,mBAAmB;IADvC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gBAAgB,CAAC,CAAA;6CACX,mCAAgB;GATtC,mBAAmB,CAsCvC;kBAtCoB,mBAAmB"}
@@ -0,0 +1 @@
1
+ export declare const PG_SCHEMA = "energetics";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PG_SCHEMA = void 0;
4
+ exports.PG_SCHEMA = "energetics";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schema-definitions/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IStaticMeterSettings } from "./interfaces/IStaticMeterSettings";
3
+ export declare const staticMeterSettingsJsonSchema: JSONSchemaType<IStaticMeterSettings>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.staticMeterSettingsJsonSchema = void 0;
4
+ exports.staticMeterSettingsJsonSchema = {
5
+ type: "object",
6
+ additionalProperties: {
7
+ type: "object",
8
+ properties: {
9
+ MeasurementOptions: {
10
+ type: "array",
11
+ items: {
12
+ type: "object",
13
+ properties: {
14
+ MeterSerialNumber: { type: "string" },
15
+ Name: { type: "string" },
16
+ Addr: { type: "string" },
17
+ Meter: { type: "string" },
18
+ Type: { type: "string" },
19
+ Var: { type: "string" },
20
+ },
21
+ required: ["Name", "Addr", "Meter", "Type", "Var"],
22
+ },
23
+ },
24
+ },
25
+ required: ["MeasurementOptions"],
26
+ },
27
+ required: [],
28
+ };
29
+ //# sourceMappingURL=StaticMeterSettingsJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMeterSettingsJsonSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/StaticMeterSettingsJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,6BAA6B,GAAyC;IAC/E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,kBAAkB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;oBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;iBACrD;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,oBAAoB,CAAC;KACnC;IACD,QAAQ,EAAE,EAAE;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { ICemApiCounterDto } from "./interfaces/ICemApiCounterDto";
3
+ export declare const cemApiCountersJsonSchema: JSONSchemaType<ICemApiCounterDto[]>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cemApiCountersJsonSchema = void 0;
4
+ exports.cemApiCountersJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ me_id: { type: "number" },
10
+ var_id: { type: "number" },
11
+ },
12
+ required: ["me_id", "var_id"],
13
+ },
14
+ };
15
+ //# sourceMappingURL=CemApiCountersJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CemApiCountersJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAwC;IACzE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7B;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAChC;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { ICemApiDeviceDto } from "./interfaces/ICemApiDeviceDto";
3
+ export declare const cemApiDevicesJsonSchema: JSONSchemaType<ICemApiDeviceDto[]>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cemApiDevicesJsonSchema = void 0;
4
+ exports.cemApiDevicesJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ me_id: { type: "number" },
10
+ me_serial: { type: "string" },
11
+ },
12
+ required: ["me_id", "me_serial"],
13
+ },
14
+ };
15
+ //# sourceMappingURL=CemApiDevicesJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CemApiDevicesJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,uBAAuB,GAAuC;IACvE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACnC;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { ICemApiMeasurementDto } from "./interfaces/ICemApiMeasurementDto";
3
+ export declare const cemApiMeasurementsJsonSchema: JSONSchemaType<ICemApiMeasurementDto[]>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cemApiMeasurementsJsonSchema = void 0;
4
+ exports.cemApiMeasurementsJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ value: { type: "number" },
10
+ timestamp: { type: "number" },
11
+ },
12
+ required: ["value", "timestamp"],
13
+ },
14
+ };
15
+ //# sourceMappingURL=CemApiMeasurementsJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CemApiMeasurementsJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,4BAA4B,GAA4C;IACjF,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACnC;CACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ICemApiCounterDto {
2
+ me_id: number;
3
+ var_id: number;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICemApiCounterDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICemApiCounterDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/ICemApiCounterDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ICemApiDeviceDto {
2
+ me_id: number;
3
+ me_serial: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICemApiDeviceDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICemApiDeviceDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/ICemApiDeviceDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ICemApiMeasurementDto {
2
+ value: number;
3
+ timestamp: number;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICemApiMeasurementDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICemApiMeasurementDto.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/commodity-providers/interfaces/ICemApiMeasurementDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface IStaticMeterSettings {
2
+ [providerOptionKey: string]: {
3
+ MeasurementOptions: IMeasurementOption[];
4
+ };
5
+ }
6
+ export interface IMeasurementOption {
7
+ MeterSerialNumber: string;
8
+ Name: string;
9
+ Addr: string;
10
+ Meter: string;
11
+ Type: string;
12
+ Var: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStaticMeterSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStaticMeterSettings.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IStaticMeterSettings.ts"],"names":[],"mappings":""}
@@ -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 { IMeasurementDto } from "./interfaces/IMeasurementDto";
4
+ export declare class MeasurementModel extends Model<MeasurementModel, IMeasurementDto> implements IMeasurementDto {
5
+ static tableName: string;
6
+ timestamp: Date;
7
+ value: number;
8
+ addr: string;
9
+ variable: string;
10
+ type: string;
11
+ meter: string;
12
+ source: string;
13
+ measurement_category: string;
14
+ static attributeModel: ModelAttributes<MeasurementModel, IMeasurementDto>;
15
+ static attributesToUpdate: string[];
16
+ static arrayJsonSchema: JSONSchemaType<IMeasurementDto[]>;
17
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MeasurementModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ class MeasurementModel extends sequelize_1.Model {
6
+ }
7
+ exports.MeasurementModel = MeasurementModel;
8
+ MeasurementModel.tableName = "consumption_energy_measurements";
9
+ MeasurementModel.attributeModel = {
10
+ timestamp: {
11
+ primaryKey: true,
12
+ type: sequelize_1.DataTypes.DATE,
13
+ },
14
+ value: sequelize_1.DataTypes.NUMBER({
15
+ precision: 30,
16
+ scale: 15,
17
+ }),
18
+ addr: {
19
+ primaryKey: true,
20
+ type: sequelize_1.DataTypes.STRING(255),
21
+ },
22
+ variable: {
23
+ primaryKey: true,
24
+ type: sequelize_1.DataTypes.STRING(255),
25
+ field: "var",
26
+ },
27
+ type: sequelize_1.DataTypes.STRING(255),
28
+ meter: {
29
+ primaryKey: true,
30
+ type: sequelize_1.DataTypes.STRING(255),
31
+ },
32
+ source: sequelize_1.DataTypes.STRING(20),
33
+ measurement_category: sequelize_1.DataTypes.STRING(50),
34
+ };
35
+ MeasurementModel.attributesToUpdate = Object.keys(MeasurementModel.attributeModel).concat("updated_at");
36
+ MeasurementModel.arrayJsonSchema = {
37
+ type: "array",
38
+ items: {
39
+ type: "object",
40
+ properties: {
41
+ timestamp: {
42
+ type: "object",
43
+ required: ["toISOString"],
44
+ },
45
+ value: { type: "number" },
46
+ addr: { type: "string" },
47
+ variable: { type: "string" },
48
+ type: { type: "string" },
49
+ meter: { type: "string" },
50
+ source: { type: "string" },
51
+ measurement_category: { type: "string" },
52
+ },
53
+ required: ["timestamp", "value", "addr", "variable", "type", "meter", "source", "measurement_category"],
54
+ },
55
+ };
56
+ //# sourceMappingURL=MeasurementsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/MeasurementsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,gBAAiB,SAAQ,iBAAwC;;AAA9E,4CA6DC;AA5DiB,0BAAS,GAAG,iCAAiC,CAAC;AAW9C,+BAAc,GAAuD;IAC/E,SAAS,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;KAC9B;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,KAAK,EAAE,KAAK;KACf;IACD,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3B,KAAK,EAAE;QACH,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;KAC9B;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,oBAAoB,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEY,mCAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEvF,gCAAe,GAAsC;IAC/D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC5B;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3C;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,CAAC;KAC1G;CACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
3
+ import { CommodityProviderType } from "./helpers/CommodityProviderTypeEnum";
4
+ import { StaticDataResourceType } from "./helpers/StaticDataResourceTypeEnum";
5
+ import { IStaticDataOutputDto, ResourceTypeDict } from "./interfaces/IStaticDataOutputDto";
6
+ export declare class StaticMeterSettingsModel extends Model<IStaticDataOutputDto> implements IStaticDataOutputDto {
7
+ static tableName: string;
8
+ provider: CommodityProviderType;
9
+ resource_type: StaticDataResourceType;
10
+ data: ResourceTypeDict[StaticDataResourceType];
11
+ static attributeModel: ModelAttributes<StaticMeterSettingsModel, IStaticDataOutputDto>;
12
+ static jsonSchema: JSONSchemaType<IStaticDataOutputDto>;
13
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticMeterSettingsModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ class StaticMeterSettingsModel extends sequelize_1.Model {
6
+ }
7
+ exports.StaticMeterSettingsModel = StaticMeterSettingsModel;
8
+ StaticMeterSettingsModel.tableName = "commodity_static_meter_settings";
9
+ StaticMeterSettingsModel.attributeModel = {
10
+ provider: {
11
+ type: sequelize_1.DataTypes.STRING(30),
12
+ primaryKey: true,
13
+ },
14
+ resource_type: {
15
+ type: sequelize_1.DataTypes.STRING(30),
16
+ primaryKey: true,
17
+ },
18
+ data: {
19
+ type: sequelize_1.DataTypes.JSON,
20
+ allowNull: false,
21
+ },
22
+ };
23
+ StaticMeterSettingsModel.jsonSchema = {
24
+ type: "object",
25
+ properties: {
26
+ provider: { type: "string" },
27
+ resource_type: { type: "string" },
28
+ data: {
29
+ type: "array",
30
+ items: { type: "object", required: [] },
31
+ },
32
+ },
33
+ required: ["provider", "resource_type", "data"],
34
+ };
35
+ //# sourceMappingURL=StaticMeterSettingsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMeterSettingsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/StaticMeterSettingsModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAKxF,MAAa,wBAAyB,SAAQ,iBAA2B;;AAAzE,4DAkCC;AAjCiB,kCAAS,GAAG,iCAAiC,CAAC;AAM9C,uCAAc,GAAoE;IAC5F,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,IAAI;KACnB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;KACnB;CACJ,CAAC;AAEY,mCAAU,GAAyC;IAC7D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,IAAI,EAAE;YACF,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;SAC1C;KACJ;IACD,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC;CAClD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum CommodityProviderType {
2
+ CemApiVeoliaWater = "cem_api_veolia_water",
3
+ CemApiVeoliaElectro = "cem_api_veolia_electro"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommodityProviderType = void 0;
4
+ var CommodityProviderType;
5
+ (function (CommodityProviderType) {
6
+ CommodityProviderType["CemApiVeoliaWater"] = "cem_api_veolia_water";
7
+ CommodityProviderType["CemApiVeoliaElectro"] = "cem_api_veolia_electro";
8
+ })(CommodityProviderType || (exports.CommodityProviderType = CommodityProviderType = {}));
9
+ //# sourceMappingURL=CommodityProviderTypeEnum.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export declare enum StaticDataResourceType {
2
+ MeasurementOptions = "MeasurementOptions"
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticDataResourceType = void 0;
4
+ var StaticDataResourceType;
5
+ (function (StaticDataResourceType) {
6
+ StaticDataResourceType["MeasurementOptions"] = "MeasurementOptions";
7
+ })(StaticDataResourceType || (exports.StaticDataResourceType = StaticDataResourceType = {}));
8
+ //# sourceMappingURL=StaticDataResourceTypeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticDataResourceTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/StaticDataResourceTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAC9B,mEAAyC,CAAA;AAC7C,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC"}
@@ -0,0 +1,10 @@
1
+ export interface IMeasurementDto {
2
+ timestamp: Date;
3
+ value: number;
4
+ addr: string;
5
+ variable: string;
6
+ type: string;
7
+ meter: string;
8
+ source: string;
9
+ measurement_category: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMeasurementDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMeasurementDto.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IMeasurementDto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IMeasurementOption } from "../../datasources/interfaces/IStaticMeterSettings";
2
+ import { CommodityProviderType } from "../helpers/CommodityProviderTypeEnum";
3
+ import { StaticDataResourceType } from "../helpers/StaticDataResourceTypeEnum";
4
+ export interface IStaticDataOutputDto {
5
+ provider: CommodityProviderType;
6
+ resource_type: StaticDataResourceType;
7
+ data: ResourceTypeDict[StaticDataResourceType];
8
+ }
9
+ export type ResourceTypeDict = {
10
+ [StaticDataResourceType.MeasurementOptions]: IMeasurementOption[];
11
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const StaticDataResourceTypeEnum_1 = require("../helpers/StaticDataResourceTypeEnum");
4
+ //# sourceMappingURL=IStaticDataOutputDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStaticDataOutputDto.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IStaticDataOutputDto.ts"],"names":[],"mappings":";;AAEA,sFAA+E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.2.11",
3
+ "version": "1.2.12-dev.1210136153",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,6 +8,7 @@
8
8
  "build": "rimraf ./dist && tspc -p ./tsconfig.build.json",
9
9
  "build-minimal": "run-s 'build -- --sourceMap false --declaration false'",
10
10
  "build-watch": "run-s 'build -- --watch --preserveWatchOutput'",
11
+ "pretest": "golemio import-db-data",
11
12
  "test": "cross-env NODE_ENV=test mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r tsconfig-paths/register -r dotenv/config --file 'test/setup.ts' 'test/**/*.test.ts'",
12
13
  "test-debug": "run-s 'test -- --inspect-brk=9230'",
13
14
  "code-coverage": "nyc run-s 'test -- -r source-map-support/register'",