@golemio/energetics 1.4.13 → 1.5.0-rc.2021437640

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 (90) hide show
  1. package/db/example/00_clear_test_data.sql +2 -1
  2. package/db/migrations/postgresql/20250819094030-enapo-pre.js +53 -0
  3. package/db/migrations/postgresql/sqls/20250819094030-enapo-pre-down.sql +3 -0
  4. package/db/migrations/postgresql/sqls/20250819094030-enapo-pre-up.sql +31 -0
  5. package/dist/input-gateway/pre/PreInputRouter.js +5 -6
  6. package/dist/input-gateway/pre/PreInputRouter.js.map +1 -1
  7. package/dist/input-gateway/pre/PreJsonInputController.d.ts +2 -4
  8. package/dist/input-gateway/pre/PreJsonInputController.js +8 -12
  9. package/dist/input-gateway/pre/PreJsonInputController.js.map +1 -1
  10. package/dist/integration-engine/commodity-providers/helper/EnapoMeasurementsDataNormalizer.d.ts +1 -1
  11. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.d.ts +1 -2
  12. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js +4 -4
  13. package/dist/integration-engine/commodity-providers/helper/PreMeasurementFilter.js.map +1 -1
  14. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js +4 -1
  15. package/dist/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.js.map +1 -1
  16. package/dist/integration-engine/enapo/helpers/MeasurementsDataNormalizer.d.ts +1 -1
  17. package/dist/integration-engine/enapo/interfaces/predi/IPrediMetadata.d.ts +17 -0
  18. package/dist/integration-engine/enapo/interfaces/predi/IPrediMetadata.js +3 -0
  19. package/dist/integration-engine/enapo/interfaces/predi/IPrediMetadata.js.map +1 -0
  20. package/dist/integration-engine/enapo/ioc/Di.js +14 -5
  21. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  22. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +6 -0
  23. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +6 -0
  24. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  25. package/dist/integration-engine/enapo/repositories/EnapoMeasurementsRepository.js +1 -1
  26. package/dist/integration-engine/enapo/repositories/EnapoMeasurementsRepository.js.map +1 -1
  27. package/dist/integration-engine/enapo/repositories/PreIncomingDataLogRepository.d.ts +5 -0
  28. package/dist/integration-engine/enapo/repositories/PreIncomingDataLogRepository.js +32 -0
  29. package/dist/integration-engine/enapo/repositories/PreIncomingDataLogRepository.js.map +1 -0
  30. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.d.ts +1 -1
  31. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js +4 -3
  32. package/dist/integration-engine/enapo/transformations/PPasMeasurementTransformation.js.map +1 -1
  33. package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.d.ts +8 -0
  34. package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js +64 -0
  35. package/dist/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.js.map +1 -0
  36. package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.d.ts +7 -0
  37. package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.js +66 -0
  38. package/dist/integration-engine/enapo/transformations/pre/PreMeasurementsTransformation.js.map +1 -0
  39. package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.d.ts +7 -0
  40. package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.js +43 -0
  41. package/dist/integration-engine/enapo/transformations/pre/PreMetadataTransfromation.js.map +1 -0
  42. package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.d.ts +4 -0
  43. package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js +35 -0
  44. package/dist/integration-engine/enapo/transformations/pre/helpers/DeviceSerialNumberExtractor.js.map +1 -0
  45. package/dist/integration-engine/enapo/workers/EnapoWorker.js +1 -0
  46. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  47. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.d.ts +1 -1
  48. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js +1 -1
  49. package/dist/integration-engine/enapo/workers/task/AbstractEnapoFetchMeasurementsTask.js.map +1 -1
  50. package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.d.ts +26 -0
  51. package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.js +81 -0
  52. package/dist/integration-engine/enapo/workers/task/EnapoPrediTask.js.map +1 -0
  53. package/dist/schema-definitions/datasources/enapo/EnapoPreInputSchema.d.ts +3 -0
  54. package/dist/schema-definitions/datasources/enapo/EnapoPreInputSchema.js +113 -0
  55. package/dist/schema-definitions/datasources/enapo/EnapoPreInputSchema.js.map +1 -0
  56. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.d.ts +6 -1
  57. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js +5 -0
  58. package/dist/schema-definitions/datasources/helpers/MeasurementVariableEnum.js.map +1 -1
  59. package/dist/schema-definitions/datasources/interfaces/enapo/IEnapoMetadata.d.ts +17 -0
  60. package/dist/schema-definitions/datasources/interfaces/enapo/IEnapoMetadata.js +3 -0
  61. package/dist/schema-definitions/datasources/interfaces/enapo/IEnapoMetadata.js.map +1 -0
  62. package/dist/schema-definitions/datasources/interfaces/enapo/IPreIncomingDataLog.d.ts +18 -0
  63. package/dist/schema-definitions/datasources/interfaces/enapo/IPreIncomingDataLog.js +3 -0
  64. package/dist/schema-definitions/datasources/interfaces/enapo/IPreIncomingDataLog.js.map +1 -0
  65. package/dist/schema-definitions/datasources/interfaces/enapo/IPrediInputData.d.ts +37 -0
  66. package/dist/schema-definitions/datasources/interfaces/enapo/IPrediInputData.js +3 -0
  67. package/dist/schema-definitions/datasources/interfaces/enapo/IPrediInputData.js.map +1 -0
  68. package/dist/schema-definitions/models/{EnapoMeasurementsModel.d.ts → enapo/EnapoMeasurementsModel.d.ts} +2 -1
  69. package/dist/schema-definitions/models/{EnapoMeasurementsModel.js → enapo/EnapoMeasurementsModel.js} +9 -5
  70. package/dist/schema-definitions/models/enapo/EnapoMeasurementsModel.js.map +1 -0
  71. package/dist/schema-definitions/models/enapo/EnapoMetadataModel.d.ts +18 -0
  72. package/dist/schema-definitions/models/enapo/EnapoMetadataModel.js +60 -0
  73. package/dist/schema-definitions/models/enapo/EnapoMetadataModel.js.map +1 -0
  74. package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.d.ts +26 -0
  75. package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.js +89 -0
  76. package/dist/schema-definitions/models/enapo/PreIncomingDataLogModel.js.map +1 -0
  77. package/dist/schema-definitions/models/enapo/helpers/ProviderTypeEnum.d.ts +4 -0
  78. package/dist/schema-definitions/models/enapo/helpers/ProviderTypeEnum.js +9 -0
  79. package/dist/schema-definitions/models/enapo/helpers/ProviderTypeEnum.js.map +1 -0
  80. package/dist/schema-definitions/models/{interfaces → enapo/interfaces}/IEnapoMeasurmentsDto.d.ts +2 -1
  81. package/dist/schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto.js.map +1 -0
  82. package/docs/implementation_documentation.md +30 -3
  83. package/docs/openapi-input.yaml +27 -1
  84. package/package.json +4 -4
  85. package/dist/input-gateway/helpers/PreDataExtractor.d.ts +0 -5
  86. package/dist/input-gateway/helpers/PreDataExtractor.js +0 -20
  87. package/dist/input-gateway/helpers/PreDataExtractor.js.map +0 -1
  88. package/dist/schema-definitions/models/EnapoMeasurementsModel.js.map +0 -1
  89. package/dist/schema-definitions/models/interfaces/IEnapoMeasurmentsDto.js.map +0 -1
  90. /package/dist/schema-definitions/models/{interfaces → enapo/interfaces}/IEnapoMeasurmentsDto.js +0 -0
@@ -7,4 +7,5 @@ truncate organization_responsible_users;
7
7
  truncate organizations_buildings;
8
8
  truncate organizations;
9
9
  truncate access_limitation;
10
- truncate enapo_measurements;
10
+ truncate enapo_measurements;
11
+ truncate enapo_pre_metadata_history;
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20250819094030-enapo-pre-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20250819094030-enapo-pre-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,3 @@
1
+ drop table enapo_pre_metadata_history;
2
+ ALTER TABLE enapo_measurements RENAME COLUMN id TO eic;
3
+ ALTER TABLE enapo_measurements DROP COLUMN id_type;
@@ -0,0 +1,31 @@
1
+ CREATE TABLE enapo_pre_metadata_history (
2
+ ean varchar NOT NULL,
3
+ "year" int4 NOT NULL,
4
+ "month" int4 NOT NULL,
5
+ month_name varchar NULL,
6
+ days_in_stored_month int4 NULL,
7
+ consumption_point varchar NULL,
8
+ address varchar NULL,
9
+ location_type varchar NULL,
10
+ company_name varchar NULL,
11
+ company_id varchar NULL,
12
+ tarif_type varchar NULL,
13
+ tarif_1t2t varchar NULL,
14
+ phases varchar NULL,
15
+ circuit_breaker varchar NULL,
16
+ type_b_meter varchar NULL,
17
+ meter_replaced varchar NULL,
18
+ created_at timestamp NULL,
19
+ updated_at timestamp NULL,
20
+ CONSTRAINT enapo_log_pre_pk PRIMARY KEY (ean, "year", "month")
21
+ );
22
+
23
+ COMMENT ON COLUMN enapo_pre_metadata_history.meter_replaced IS 'Změna elekroměru na odběrném místě v daném měsíci je indikována takto:
24
+ "meter_replaced": "53435572" ==> beze změny
25
+ "meter_replaced": "2025-06-19|54292510|55505332" ==> změna "datumZměny|starý|nový"
26
+ "meter_replaced": "2025-06-19|54292510|55505332|2025-06-30|55505332|96933662" ==> případně dvě a více změn';
27
+
28
+ ALTER TABLE enapo_measurements RENAME COLUMN eic TO id;
29
+ ALTER TABLE enapo_measurements ADD id_type varchar DEFAULT 'eic' NOT NULL;
30
+ ALTER TABLE enapo_measurements ALTER COLUMN created_at TYPE timestamptz USING created_at::timestamptz;
31
+ ALTER TABLE enapo_measurements ALTER COLUMN updated_at TYPE timestamptz USING updated_at::timestamptz;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.preInputRouter = exports.PreInputRouter = void 0;
4
- const express_1 = require("@golemio/core/dist/shared/express");
5
- const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
6
- const PreJsonInputController_1 = require("./PreJsonInputController");
7
- const PreDataExtractor_1 = require("../helpers/PreDataExtractor");
8
- const ioc_1 = require("@golemio/core/dist/input-gateway/ioc");
9
4
  const PreCsvInputController_1 = require("./PreCsvInputController");
5
+ const PreJsonInputController_1 = require("./PreJsonInputController");
10
6
  const PreCsvInputTransformation_1 = require("../transformations/PreCsvInputTransformation");
7
+ const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
8
+ const ioc_1 = require("@golemio/core/dist/input-gateway/ioc");
9
+ const express_1 = require("@golemio/core/dist/shared/express");
11
10
  class PreInputRouter {
12
11
  constructor() {
13
12
  this.initRoutes = () => {
@@ -36,7 +35,7 @@ class PreInputRouter {
36
35
  }
37
36
  };
38
37
  this.router = (0, express_1.Router)();
39
- this.jsonInputController = new PreJsonInputController_1.PreJsonInputController(new PreDataExtractor_1.PreDataExtractor());
38
+ this.jsonInputController = new PreJsonInputController_1.PreJsonInputController();
40
39
  this.csvInputController = new PreCsvInputController_1.PreCsvInputController(new PreCsvInputTransformation_1.PreCsvInputTransformation());
41
40
  this.csvParser = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.CsvParserMiddleware);
42
41
  this.initRoutes();
@@ -1 +1 @@
1
- {"version":3,"file":"PreInputRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreInputRouter.ts"],"names":[],"mappings":";;;AAAA,+DAA4F;AAC5F,sEAAsF;AACtF,qEAAwE;AACxE,kEAAgE;AAChE,8DAA6F;AAE7F,mEAAsE;AACtE,4FAA0F;AAE1F,MAAa,cAAc;IAMvB;QAQQ,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,oCAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,MAAM,EACN,IAAA,oCAA0B,EAAC,CAAC,UAAU,CAAC,CAAC,EACxC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,GAAG;gBACd,oBAAoB,EAAE,IAAI;aAC7B,CAAC,EACF,IAAI,CAAC,UAAU,CAClB,CAAC;QACN,CAAC,CAAC;QAEM,gBAAW,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC3F,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAEM,eAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC1F,IAAI;gBACA,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QApCE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,+CAAsB,CAAC,IAAI,mCAAgB,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,kBAAkB,GAAG,IAAI,6CAAqB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,GAAG,2BAAqB,CAAC,OAAO,CAAsB,oBAAc,CAAC,mBAAmB,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAgCJ;AA5CD,wCA4CC;AAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC,MAAM,CAAC;AAC1C,wCAAc"}
1
+ {"version":3,"file":"PreInputRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreInputRouter.ts"],"names":[],"mappings":";;;AAAA,mEAAsE;AACtE,qEAAwE;AACxE,4FAA0F;AAC1F,sEAAsF;AACtF,8DAA6F;AAE7F,+DAA4F;AAE5F,MAAa,cAAc;IAMvB;QAQQ,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,oCAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,MAAM,EACN,IAAA,oCAA0B,EAAC,CAAC,UAAU,CAAC,CAAC,EACxC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,GAAG;gBACd,oBAAoB,EAAE,IAAI;aAC7B,CAAC,EACF,IAAI,CAAC,UAAU,CAClB,CAAC;QACN,CAAC,CAAC;QAEM,gBAAW,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC3F,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAEM,eAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC1F,IAAI;gBACA,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QApCE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,6CAAqB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,GAAG,2BAAqB,CAAC,OAAO,CAAsB,oBAAc,CAAC,mBAAmB,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAgCJ;AA5CD,wCA4CC;AAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC,MAAM,CAAC;AAC1C,wCAAc"}
@@ -1,8 +1,6 @@
1
- import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
2
1
  import { IPreJsonInput } from "../../schema-definitions/datasources/interfaces/IPreJsonInput";
3
- import { PreDataExtractor } from "../helpers/PreDataExtractor";
2
+ import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
4
3
  export declare class PreJsonInputController extends BaseController {
5
- private preDataExtractor;
6
- constructor(preDataExtractor: PreDataExtractor);
4
+ constructor();
7
5
  processData: (inputData: IPreJsonInput) => Promise<void>;
8
6
  }
@@ -1,24 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PreJsonInputController = void 0;
4
+ const constants_1 = require("../../integration-engine/enapo/constants");
5
+ const EnapoPreInputSchema_1 = require("../../schema-definitions/datasources/enapo/EnapoPreInputSchema");
4
6
  const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
5
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
6
- const PreJsonInputSchema_1 = require("../../schema-definitions/datasources/PreJsonInputSchema");
7
7
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
8
- const constants_1 = require("../../integration-engine/commodity-providers/constants");
8
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
9
9
  class PreJsonInputController extends controllers_1.BaseController {
10
- constructor(preDataExtractor) {
11
- super(constants_1.WORKER_NAME, new golemio_validator_1.JSONSchemaValidator("PreJsonInputController", PreJsonInputSchema_1.preJsonInputSchema));
12
- this.preDataExtractor = preDataExtractor;
10
+ constructor() {
11
+ super(constants_1.ENAPO_WORKER_NAME, new golemio_validator_1.JSONSchemaValidator("PreJsonInputController", EnapoPreInputSchema_1.enapoPreInputSchema));
13
12
  this.processData = async (inputData) => {
14
13
  try {
15
14
  await this.validator.Validate(inputData);
16
- const eanMeasurements = this.preDataExtractor.extractEanMeasurements(inputData);
17
- for (const eanMeasurement of eanMeasurements) {
18
- await this.sendMessageToExchange("input." + this.queuePrefix + ".processPreEanMeasurements", JSON.stringify(eanMeasurement), {
19
- persistent: true,
20
- });
21
- }
15
+ await this.sendMessageToExchange("input." + this.queuePrefix + ".processPrediData", JSON.stringify(inputData), {
16
+ persistent: true,
17
+ });
22
18
  }
23
19
  catch (err) {
24
20
  if (err instanceof golemio_errors_1.AbstractGolemioError) {
@@ -1 +1 @@
1
- {"version":3,"file":"PreJsonInputController.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreJsonInputController.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AAC9E,mFAAkF;AAClF,gGAAyE;AAGzE,6EAA8F;AAC9F,sFAAgE;AAEhE,MAAa,sBAAuB,SAAQ,4BAAc;IACtD,YAAoB,gBAAkC;QAClD,KAAK,CAAC,uBAAW,EAAE,IAAI,uCAAmB,CAAC,wBAAwB,EAAE,uCAAkB,CAAC,CAAC,CAAC;QAD1E,qBAAgB,GAAhB,gBAAgB,CAAkB;QAI/C,gBAAW,GAAG,KAAK,EAAE,SAAwB,EAAE,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAChF,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;oBAC1C,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAC1D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B;wBACI,UAAU,EAAE,IAAI;qBACnB,CACJ,CAAC;iBACL;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;IAtBF,CAAC;CAuBJ;AA1BD,wDA0BC"}
1
+ {"version":3,"file":"PreJsonInputController.js","sourceRoot":"","sources":["../../../src/input-gateway/pre/PreJsonInputController.ts"],"names":[],"mappings":";;;AAAA,wEAAwD;AACxD,wGAAiF;AAEjF,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,sBAAuB,SAAQ,4BAAc;IACtD;QACI,KAAK,CAAC,6BAAiB,EAAE,IAAI,uCAAmB,CAAC,wBAAwB,EAAE,yCAAmB,CAAC,CAAC,CAAC;QAG9F,gBAAW,GAAG,KAAK,EAAE,SAAwB,EAAE,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBAC3G,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;IAfF,CAAC;CAgBJ;AAnBD,wDAmBC"}
@@ -1,4 +1,4 @@
1
- import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
1
+ import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto";
2
2
  import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
3
3
  export declare class MeasurementsDataNormalizer {
4
4
  static filter(data: Array<IEnapoMeasurementsDto | IMeasurementDto>): (IMeasurementDto | IEnapoMeasurementsDto)[];
@@ -1,4 +1,3 @@
1
- import { IPreEanMeasurement } from "../workers/interfaces/IPreEanMeasurement";
2
1
  export declare class PreMeasurementFilter {
3
- static sumDuplicates(measurementInput: IPreEanMeasurement): IPreEanMeasurement;
2
+ static sumDuplicates(measurements: Array<[string, number]>): Array<[string, number]>;
4
3
  }
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PreMeasurementFilter = void 0;
4
4
  class PreMeasurementFilter {
5
- static sumDuplicates(measurementInput) {
5
+ static sumDuplicates(measurements) {
6
6
  const clean = new Map();
7
- for (const row of measurementInput.T1_Wh_raw_data) {
7
+ for (const row of measurements) {
8
8
  clean.has(row[0]) ? clean.set(row[0], clean.get(row[0]) + row[1]) : clean.set(row[0], row[1]);
9
9
  }
10
- const T1_Wh_raw_data = Array.from(clean, ([k, v]) => [k, v]);
11
- return { ean: measurementInput.ean, T1_Wh_raw_data };
10
+ const deduplicatedMeasurements = Array.from(clean, ([k, v]) => [k, v]);
11
+ return deduplicatedMeasurements;
12
12
  }
13
13
  }
14
14
  exports.PreMeasurementFilter = PreMeasurementFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"PreMeasurementFilter.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/PreMeasurementFilter.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IACtB,MAAM,CAAC,aAAa,CAAC,gBAAoC;QAC5D,MAAM,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,cAAc,EAAE;YAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAClG;QAED,MAAM,cAAc,GAA4B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtF,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC;IACzD,CAAC;CACJ;AAZD,oDAYC"}
1
+ {"version":3,"file":"PreMeasurementFilter.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/helper/PreMeasurementFilter.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;IACtB,MAAM,CAAC,aAAa,CAAC,YAAqC;QAC7D,MAAM,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAClG;QAED,MAAM,wBAAwB,GAA4B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,wBAAwB,CAAC;IACpC,CAAC;CACJ;AAZD,oDAYC"}
@@ -46,7 +46,10 @@ let ProcessPreEanMeasurementsTask = exports.ProcessPreEanMeasurementsTask = clas
46
46
  }
47
47
  const measurements = this.transformation.transformElement({
48
48
  option,
49
- measurementInput: PreMeasurementFilter_1.PreMeasurementFilter.sumDuplicates(measurementInput),
49
+ measurementInput: {
50
+ ean: measurementInput.ean,
51
+ T1_Wh_raw_data: PreMeasurementFilter_1.PreMeasurementFilter.sumDuplicates(measurementInput.T1_Wh_raw_data),
52
+ },
50
53
  });
51
54
  await this.measurementRepository.bulkSave(measurements);
52
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessPreEanMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,yEAAwF;AAExF,qGAAoH;AACpH,oGAAmH;AACnH,oFAAmG;AAEnG,+EAAyG;AACzG,uHAAsF;AACtF,yHAAwF;AAExF,6EAAwE;AACxE,8EAAqE;AACrE,+CAAgE;AAChE,4EAA2F;AAGpF,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,iCAAgC;IAK/E,YAEI,uBAA8D,EACV,qBAAsD,EAC/C,cAAsD;QAEjH,KAAK,CAAC,uBAAW,CAAC,CAAC;QAJX,4BAAuB,GAAvB,uBAAuB,CAA+B;QACA,0BAAqB,GAArB,qBAAqB,CAAuB;QACrC,mBAAc,GAAd,cAAc,CAA8B;QAR3G,WAAM,GAAG,iDAAuB,CAAC;QAC3B,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAS1C,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,gBAAoC;QACxD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACjE,iDAAqB,CAAC,eAAe,EACrC,mDAAsB,CAAC,kBAAkB,CAC5C,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE;YACrB,MAAM,IAAI,6BAAY,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClF;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1G,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,6BAAY,CAAC,yCAAyC,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACnH;QAED,MAAM,YAAY,GAAsB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACzE,MAAM;YACN,gBAAgB,EAAE,2CAAoB,CAAC,aAAa,CAAC,gBAAgB,CAAC;SACzE,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;wCArCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;qCAFzB,6DAA6B;QACuB,6CAAqB;QACrB,2DAA4B;GAT5G,6BAA6B,CAqCzC"}
1
+ {"version":3,"file":"ProcessPreEanMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/ProcessPreEanMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,yEAAwF;AAExF,qGAAoH;AACpH,oGAAmH;AACnH,oFAAmG;AAEnG,+EAAyG;AACzG,uHAAsF;AACtF,yHAAwF;AAExF,6EAAwE;AACxE,8EAAqE;AACrE,+CAAgE;AAChE,4EAA2F;AAGpF,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,iCAAgC;IAK/E,YAEI,uBAA8D,EACV,qBAAsD,EAC/C,cAAsD;QAEjH,KAAK,CAAC,uBAAW,CAAC,CAAC;QAJX,4BAAuB,GAAvB,uBAAuB,CAA+B;QACA,0BAAqB,GAArB,qBAAqB,CAAuB;QACrC,mBAAc,GAAd,cAAc,CAA8B;QAR3G,WAAM,GAAG,iDAAuB,CAAC;QAC3B,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAS1C,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,gBAAoC;QACxD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACjE,iDAAqB,CAAC,eAAe,EACrC,mDAAsB,CAAC,kBAAkB,CAC5C,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE;YACrB,MAAM,IAAI,6BAAY,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClF;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1G,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,6BAAY,CAAC,yCAAyC,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACnH;QAED,MAAM,YAAY,GAAsB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACzE,MAAM;YACN,gBAAgB,EAAE;gBACd,GAAG,EAAE,gBAAgB,CAAC,GAAG;gBACzB,cAAc,EAAE,2CAAoB,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC;aACtF;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;wCAxCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;qCAFzB,6DAA6B;QACuB,6CAAqB;QACrB,2DAA4B;GAT5G,6BAA6B,CAwCzC"}
@@ -1,4 +1,4 @@
1
- import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
1
+ import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto";
2
2
  import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
3
3
  export declare class EnapoMeasurementsDataNormalizer {
4
4
  static filter(data: Array<IEnapoMeasurementsDto | IMeasurementDto>): (IMeasurementDto | IEnapoMeasurementsDto)[];
@@ -0,0 +1,17 @@
1
+ export interface IPrediMetadata {
2
+ year: number;
3
+ month: number;
4
+ month_name: string;
5
+ days_in_stored_month: number;
6
+ id_company: string;
7
+ trade_name: string;
8
+ ean: string;
9
+ address: string;
10
+ tarif_type: string;
11
+ tarif_1T2T: string;
12
+ phases: string;
13
+ circuit_breaker: string;
14
+ location_type: string;
15
+ type_B_meter: "YES" | "NO";
16
+ meter_replaced: "YES" | "NO";
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPrediMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPrediMetadata.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/interfaces/predi/IPrediMetadata.ts"],"names":[],"mappings":""}
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnapoContainer = void 0;
4
+ const CommodityProviderDataSourceFactory_1 = require("../../commodity-providers/datasources/CommodityProviderDataSourceFactory");
5
+ const CemApiDataSourceProvider_1 = require("../../commodity-providers/datasources/cem-api/CemApiDataSourceProvider");
6
+ const PpasAveApiDataSourceProvider_1 = require("../../commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider");
7
+ const WorkerContainerToken_1 = require("../../commodity-providers/ioc/WorkerContainerToken");
4
8
  const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
5
9
  const EnapoMeasurementsRepository_1 = require("../repositories/EnapoMeasurementsRepository");
6
10
  const PPasMeasurementTransformation_1 = require("../transformations/PPasMeasurementTransformation");
11
+ const PreDailyMeasurementsTransformation_1 = require("../transformations/pre/PreDailyMeasurementsTransformation");
12
+ const PreMeasurementsTransformation_1 = require("../transformations/pre/PreMeasurementsTransformation");
13
+ const PreMetadataTransfromation_1 = require("../transformations/pre/PreMetadataTransfromation");
7
14
  const EnapoPpasTask_1 = require("../workers/task/EnapoPpasTask");
15
+ const EnapoPrediTask_1 = require("../workers/task/EnapoPrediTask");
8
16
  const EnapoWorkerContainerToken_1 = require("./EnapoWorkerContainerToken");
9
- const CommodityProviderDataSourceFactory_1 = require("../../commodity-providers/datasources/CommodityProviderDataSourceFactory");
10
- const PpasAveApiDataSourceProvider_1 = require("../../commodity-providers/datasources/ppas-ave-api/PpasAveApiDataSourceProvider");
11
- const CemApiDataSourceProvider_1 = require("../../commodity-providers/datasources/cem-api/CemApiDataSourceProvider");
12
- const WorkerContainerToken_1 = require("../../commodity-providers/ioc/WorkerContainerToken");
17
+ const PreIncomingDataLogRepository_1 = require("../repositories/PreIncomingDataLogRepository");
13
18
  //#region Initialization
14
19
  const EnapoContainer = Di_1.IntegrationEngineContainer.createChildContainer();
15
20
  exports.EnapoContainer = EnapoContainer;
@@ -20,11 +25,15 @@ EnapoContainer.register(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDa
20
25
  EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
21
26
  //#endregion
22
27
  //#region Repositories
23
- EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository);
28
+ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository).register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreIncomingDataLogRepository, PreIncomingDataLogRepository_1.PreIncomingDataLogRepository);
24
29
  //#endregion
25
30
  //#region Transformation
26
31
  EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PPasMeasurementTransformation, PPasMeasurementTransformation_1.PPasMeasurementTransformation);
32
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreMeasurementsTransformation, PreMeasurementsTransformation_1.PreMeasurementsTransformation);
33
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreDailyMeasurementsTransformation, PreDailyMeasurementsTransformation_1.PreDailyMeasurementsTransformation);
34
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PreMetadataTransformation, PreMetadataTransfromation_1.PreMetadataTransformation);
27
35
  //#endregion
28
36
  //#region Tasks
29
37
  EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasTask, EnapoPpasTask_1.EnapoPpasTask);
38
+ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPrediTask, EnapoPrediTask_1.EnapoPrediTask);
30
39
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qEAA0F;AAE1F,6FAA0F;AAC1F,oGAAiG;AACjG,iEAA8D;AAC9D,2EAAwE;AACxE,iIAA4H;AAC5H,kIAA6H;AAC7H,qHAAgH;AAChH,6FAAwF;AAExF,wBAAwB;AACxB,MAAM,cAAc,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAuBrF,wCAAc;AAtBvB,YAAY;AAEZ,oBAAoB;AACpB,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACjG,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACzG,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AAC1H,YAAY;AAEZ,sBAAsB;AACtB,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC5G,YAAY;AAEZ,wBAAwB;AACxB,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,YAAY;AAEZ,eAAe;AACf,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,aAAa,EAAE,6BAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iIAA4H;AAC5H,qHAAgH;AAChH,kIAA6H;AAC7H,6FAAwF;AACxF,qEAA0F;AAE1F,6FAA0F;AAC1F,oGAAiG;AACjG,kHAA+G;AAC/G,wGAAqG;AACrG,gGAA6F;AAC7F,iEAA8D;AAC9D,mEAAgE;AAChE,2EAAwE;AACxE,+FAA4F;AAE5F,wBAAwB;AACxB,MAAM,cAAc,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAiCrF,wCAAc;AAhCvB,YAAY;AAEZ,oBAAoB;AACpB,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACjG,cAAc,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACzG,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AAC1H,YAAY;AAEZ,sBAAsB;AACtB,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC,QAAQ,CAChH,qDAAyB,CAAC,4BAA4B,EACtD,2DAA4B,CAC/B,CAAC;AACF,YAAY;AAEZ,wBAAwB;AACxB,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzH,cAAc,CAAC,iBAAiB,CAC5B,qDAAyB,CAAC,kCAAkC,EAC5D,uEAAkC,CACrC,CAAC;AACF,cAAc,CAAC,iBAAiB,CAAC,qDAAyB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACjH,YAAY;AAEZ,eAAe;AACf,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,aAAa,EAAE,6BAAa,CAAC,CAAC;AAChF,cAAc,CAAC,QAAQ,CAAC,qDAAyB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
@@ -1,7 +1,13 @@
1
1
  declare const EnapoWorkerContainerToken: {
2
2
  CommodityProviderDataSourceFactory: symbol;
3
3
  EnapoMeasurementsRepository: symbol;
4
+ EnapoMetadataRepository: symbol;
5
+ PreIncomingDataLogRepository: symbol;
4
6
  PPasMeasurementTransformation: symbol;
7
+ PreMeasurementsTransformation: symbol;
8
+ PreDailyMeasurementsTransformation: symbol;
9
+ PreMetadataTransformation: symbol;
5
10
  EnapoPpasTask: symbol;
11
+ EnapoPrediTask: symbol;
6
12
  };
7
13
  export { EnapoWorkerContainerToken };
@@ -7,12 +7,18 @@ const EnapoWorkerContainerToken = {
7
7
  //#endregion
8
8
  //#region Repositories
9
9
  EnapoMeasurementsRepository: Symbol(),
10
+ EnapoMetadataRepository: Symbol(),
11
+ PreIncomingDataLogRepository: Symbol(),
10
12
  //#endregion
11
13
  //#region Transformations
12
14
  PPasMeasurementTransformation: Symbol(),
15
+ PreMeasurementsTransformation: Symbol(),
16
+ PreDailyMeasurementsTransformation: Symbol(),
17
+ PreMetadataTransformation: Symbol(),
13
18
  //#endregion
14
19
  //#region Tasks
15
20
  EnapoPpasTask: Symbol(),
21
+ EnapoPrediTask: Symbol(),
16
22
  //#endregion
17
23
  };
18
24
  exports.EnapoWorkerContainerToken = EnapoWorkerContainerToken;
@@ -1 +1 @@
1
- {"version":3,"file":"EnapoWorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/EnapoWorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAC9B,oBAAoB;IACpB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,YAAY;IACZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IACZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
1
+ {"version":3,"file":"EnapoWorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/EnapoWorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG;IAC9B,oBAAoB;IACpB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,4BAA4B,EAAE,MAAM,EAAE;IACtC,YAAY;IAEZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EnapoMeasurementsRepository = void 0;
13
13
  const _sch_1 = require("../../../schema-definitions");
14
- const EnapoMeasurementsModel_1 = require("../../../schema-definitions/models/EnapoMeasurementsModel");
14
+ const EnapoMeasurementsModel_1 = require("../../../schema-definitions/models/enapo/EnapoMeasurementsModel");
15
15
  const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
16
16
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
17
17
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
@@ -1 +1 @@
1
- {"version":3,"file":"EnapoMeasurementsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/EnapoMeasurementsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,sGAA4E;AAE5E,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,2BAA2B,yCAAjC,MAAM,2BAA4B,SAAQ,6BAAa;IAC1D;QACI,KAAK,CACD,+CAAsB,CAAC,eAAe,EACtC;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,+CAAsB,CAAC,0BAA0B,EAAE,+CAAsB,CAAC,UAAU,CAAC,CAChH,CAAC;IACN,CAAC;CACJ,CAAA;sCAbY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;;GACA,2BAA2B,CAavC"}
1
+ {"version":3,"file":"EnapoMeasurementsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/EnapoMeasurementsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,4GAAkF;AAElF,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,2BAA2B,yCAAjC,MAAM,2BAA4B,SAAQ,6BAAa;IAC1D;QACI,KAAK,CACD,+CAAsB,CAAC,eAAe,EACtC;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,+CAAsB,CAAC,0BAA0B,EAAE,+CAAsB,CAAC,UAAU,CAAC,CAChH,CAAC;IACN,CAAC;CACJ,CAAA;sCAbY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;;GACA,2BAA2B,CAavC"}
@@ -0,0 +1,5 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PreIncomingDataLogRepository extends PostgresModel implements IModel {
4
+ constructor();
5
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PreIncomingDataLogRepository = void 0;
13
+ const _sch_1 = require("../../../schema-definitions");
14
+ const PreIncomingDataLogModel_1 = require("../../../schema-definitions/models/enapo/PreIncomingDataLogModel");
15
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
16
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
17
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
+ let PreIncomingDataLogRepository = exports.PreIncomingDataLogRepository = class PreIncomingDataLogRepository extends PostgresModel_1.PostgresModel {
19
+ constructor() {
20
+ super(PreIncomingDataLogModel_1.PreIncomingDataLogModel.REPOSITORY_NAME, {
21
+ pgTableName: PreIncomingDataLogModel_1.PreIncomingDataLogModel.TABLE_NAME,
22
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
23
+ outputSequelizeAttributes: PreIncomingDataLogModel_1.PreIncomingDataLogModel.attributeModel,
24
+ savingType: "insertOrUpdate",
25
+ }, new golemio_validator_1.JSONSchemaValidator(PreIncomingDataLogModel_1.PreIncomingDataLogModel.JSON_SCHEMA_VALIDATOR_NAME, PreIncomingDataLogModel_1.PreIncomingDataLogModel.jsonSchema));
26
+ }
27
+ };
28
+ exports.PreIncomingDataLogRepository = PreIncomingDataLogRepository = __decorate([
29
+ (0, tsyringe_1.injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], PreIncomingDataLogRepository);
32
+ //# sourceMappingURL=PreIncomingDataLogRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreIncomingDataLogRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/repositories/PreIncomingDataLogRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAwC;AACxC,8GAAoF;AAEpF,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,6BAAa;IAC3D;QACI,KAAK,CACD,iDAAuB,CAAC,eAAe,EACvC;YACI,WAAW,EAAE,iDAAuB,CAAC,UAAU;YAC/C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,iDAAuB,CAAC,cAAc;YACjE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,iDAAuB,CAAC,0BAA0B,EAAE,iDAAuB,CAAC,UAAU,CAAC,CAClH,CAAC;IACN,CAAC;CACJ,CAAA;uCAbY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;;GACA,4BAA4B,CAaxC"}
@@ -1,5 +1,5 @@
1
1
  import { IAveApiDeviceDataDto } from "../../../schema-definitions/datasources/commodity-providers/interfaces/IAveApiDeviceDataDto";
2
- import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/interfaces/IEnapoMeasurmentsDto";
2
+ import { IEnapoMeasurementsDto } from "../../../schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto";
3
3
  import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
4
  import { IPPasPlaces } from "../interfaces/IPPasPlaces";
5
5
  export declare class PPasMeasurementTransformation extends AbstractTransformation<IAveApiDeviceDataDto & IPPasPlaces, {
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PPasMeasurementTransformation = void 0;
10
- const CommodityProviderEnum_1 = require("../../commodity-providers/datasources/helpers/CommodityProviderEnum");
11
10
  const PpasAveApiHelper_1 = require("../../commodity-providers/datasources/ppas-ave-api/helpers/PpasAveApiHelper");
12
11
  const MeasurementVariableEnum_1 = require("../../../schema-definitions/datasources/helpers/MeasurementVariableEnum");
12
+ const ProviderTypeEnum_1 = require("../../../schema-definitions/models/enapo/helpers/ProviderTypeEnum");
13
13
  const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
14
14
  const luxon_1 = require("@golemio/core/dist/shared/luxon");
15
15
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
@@ -19,11 +19,12 @@ let PPasMeasurementTransformation = exports.PPasMeasurementTransformation = clas
19
19
  this.name = "PPasMeasurementTransformation";
20
20
  this.transformInternal = (data) => {
21
21
  const baseData = {
22
- eic: data.Eic,
22
+ id: data.Eic,
23
+ id_type: "eic",
23
24
  timestamp: luxon_1.DateTime.fromISO(data.StandardTime, {
24
25
  zone: PpasAveApiHelper_1.PpasAveApiHelper.API_DATE_TZ,
25
26
  }).toJSDate(),
26
- source: CommodityProviderEnum_1.CommodityProvider.PpasInternetAveApi,
27
+ source: ProviderTypeEnum_1.ProviderType.PpasInternetAveApi,
27
28
  place_id: data.PlaceId,
28
29
  device_serial_number: data.DeviceSerialNumber,
29
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+GAAsG;AACtG,kHAA6G;AAE7G,qHAAuF;AAEvF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAK1C,EAAE;YACA,MAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,MAAM,EAAE,yCAAiB,CAAC,kBAAkB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;aAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,GAAG,EAAE,6CAAmB,CAAC,IAAI;oBAC7B,GAAG,QAAQ;iBACd;gBACD,iBAAiB,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,GAAG,EAAE,6CAAmB,CAAC,KAAK;oBAC9B,GAAG,QAAQ;iBACd;gBACD,mBAAmB,EAAE;oBACjB,KAAK,EAAE,IAAI,CAAC,mBAAmB;oBAC/B,GAAG,EAAE,6CAAmB,CAAC,QAAQ;oBACjC,GAAG,QAAQ;iBACd;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCAzCY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CAyCzC"}
1
+ {"version":3,"file":"PPasMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/transformations/PPasMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kHAA6G;AAE7G,qHAAuF;AACvF,wGAA0E;AAE1E,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAIzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAGlD;IAHM;;QAII,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAC1B,IAAwC,EAK1C,EAAE;YACA,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,GAAG;gBACZ,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,EAAE,mCAAgB,CAAC,WAAW;iBACrC,CAAC,CAAC,QAAQ,EAAE;gBACb,MAAM,EAAE,+BAAY,CAAC,kBAAkB;gBACvC,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;aAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,GAAG,EAAE,6CAAmB,CAAC,IAAI;oBAC7B,GAAG,QAAQ;iBACd;gBACD,iBAAiB,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB;oBAC7B,GAAG,EAAE,6CAAmB,CAAC,KAAK;oBAC9B,GAAG,QAAQ;iBACd;gBACD,mBAAmB,EAAE;oBACjB,KAAK,EAAE,IAAI,CAAC,mBAAmB;oBAC/B,GAAG,EAAE,6CAAmB,CAAC,QAAQ;oBACjC,GAAG,QAAQ;iBACd;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCA1CY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CA0CzC"}
@@ -0,0 +1,8 @@
1
+ import { IPrediInputData } from "../../../../schema-definitions/datasources/interfaces/enapo/IPrediInputData";
2
+ import { IEnapoMeasurementsDto } from "../../../../schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ export declare class PreDailyMeasurementsTransformation extends AbstractTransformation<IPrediInputData, IEnapoMeasurementsDto[]> {
5
+ name: string;
6
+ protected transformInternal: (data: IPrediInputData) => IEnapoMeasurementsDto[];
7
+ private prepareMeasurement;
8
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PreDailyMeasurementsTransformation = void 0;
10
+ const MeasurementVariableEnum_1 = require("../../../../schema-definitions/datasources/helpers/MeasurementVariableEnum");
11
+ const ProviderTypeEnum_1 = require("../../../../schema-definitions/models/enapo/helpers/ProviderTypeEnum");
12
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
13
+ const luxon_1 = require("@golemio/core/dist/shared/luxon");
14
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
15
+ const DeviceSerialNumberExtractor_1 = require("./helpers/DeviceSerialNumberExtractor");
16
+ let PreDailyMeasurementsTransformation = exports.PreDailyMeasurementsTransformation = class PreDailyMeasurementsTransformation extends AbstractTransformation_1.AbstractTransformation {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.name = "PreDailyMeasurementsTransformation";
20
+ this.transformInternal = (data) => {
21
+ const output = [];
22
+ for (const company of Object.keys(data.stored_month.companies)) {
23
+ const companyData = data.stored_month.companies[company];
24
+ for (const ean of Object.keys(companyData.EAN_list)) {
25
+ const eanData = companyData.EAN_list[ean];
26
+ const t1WhTotalArray = eanData.daily_data_Wh_per_EAN.T1_Wh_total;
27
+ for (let index = 0; index < t1WhTotalArray.length; index++) {
28
+ const element = t1WhTotalArray[index];
29
+ output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_VT_DaySum, eanData.meter_replaced));
30
+ }
31
+ const t2WhTotalArray = eanData.daily_data_Wh_per_EAN.T2_Wh_total;
32
+ for (let index = 0; index < t2WhTotalArray.length; index++) {
33
+ const element = t2WhTotalArray[index];
34
+ output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_NT_DaySum, eanData.meter_replaced));
35
+ }
36
+ const t1t2WhTotalArray = eanData.daily_data_Wh_per_EAN.T1_plus_T2_Wh_total;
37
+ for (let index = 0; index < t1t2WhTotalArray.length; index++) {
38
+ const element = t1t2WhTotalArray[index];
39
+ output.push(this.prepareMeasurement(ean, data, index, eanData.consumption_point, element, MeasurementVariableEnum_1.MeasurementVariable.EActi_VT_NT_DaySum, eanData.meter_replaced));
40
+ }
41
+ }
42
+ }
43
+ return output;
44
+ };
45
+ }
46
+ prepareMeasurement(ean, data, index, placeId, element, type, meter_replaced) {
47
+ const currentDate = luxon_1.DateTime.fromObject({ year: data.stored_month.year, month: data.stored_month.month, day: index + 1 }, { zone: "UTC" }).toJSDate();
48
+ const deviceSerialNumber = DeviceSerialNumberExtractor_1.DeviceSerialNumberExtractor.extractActual(meter_replaced, currentDate, true);
49
+ return {
50
+ id: ean,
51
+ id_type: "ean",
52
+ timestamp: currentDate,
53
+ source: ProviderTypeEnum_1.ProviderType.PREdi,
54
+ place_id: placeId,
55
+ device_serial_number: deviceSerialNumber,
56
+ value: Number(element),
57
+ var: type,
58
+ };
59
+ }
60
+ };
61
+ exports.PreDailyMeasurementsTransformation = PreDailyMeasurementsTransformation = __decorate([
62
+ (0, tsyringe_1.injectable)()
63
+ ], PreDailyMeasurementsTransformation);
64
+ //# sourceMappingURL=PreDailyMeasurementsTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreDailyMeasurementsTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/pre/PreDailyMeasurementsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wHAAuF;AAEvF,2GAA0E;AAE1E,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAChE,uFAAoF;AAG7E,IAAM,kCAAkC,gDAAxC,MAAM,kCAAmC,SAAQ,+CAAgE;IAAjH;;QACI,SAAI,GAAG,oCAAoC,CAAC;QAEzC,sBAAiB,GAAG,CAAC,IAAqB,EAA2B,EAAE;YAC7E,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;oBACjD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC;oBAEjE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;wBACtC,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,kBAAkB,CACnB,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,iBAAiB,EACzB,OAAO,EACP,6CAAmB,CAAC,eAAe,EACnC,OAAO,CAAC,cAAc,CACzB,CACJ,CAAC;qBACL;oBAED,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC;oBAEjE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACxD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;wBACtC,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,kBAAkB,CACnB,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,iBAAiB,EACzB,OAAO,EACP,6CAAmB,CAAC,eAAe,EACnC,OAAO,CAAC,cAAc,CACzB,CACJ,CAAC;qBACL;oBAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;oBAE3E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,kBAAkB,CACnB,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,CAAC,iBAAiB,EACzB,OAAO,EACP,6CAAmB,CAAC,kBAAkB,EACtC,OAAO,CAAC,cAAc,CACzB,CACJ,CAAC;qBACL;iBACJ;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;IA4BN,CAAC;IA1BW,kBAAkB,CACtB,GAAW,EACX,IAAqB,EACrB,KAAa,EACb,OAAe,EACf,OAAe,EACf,IAAyB,EACzB,cAAsB;QAEtB,MAAM,WAAW,GAAG,gBAAQ,CAAC,UAAU,CACnC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,EAChF,EAAE,IAAI,EAAE,KAAK,EAAE,CAClB,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,kBAAkB,GAAG,yDAA2B,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAExG,OAAO;YACH,EAAE,EAAE,GAAG;YACP,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,+BAAY,CAAC,KAAK;YAC1B,QAAQ,EAAE,OAAO;YACjB,oBAAoB,EAAE,kBAAkB;YACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YACtB,GAAG,EAAE,IAAI;SACa,CAAC;IAC/B,CAAC;CACJ,CAAA;6CA1FY,kCAAkC;IAD9C,IAAA,qBAAU,GAAE;GACA,kCAAkC,CA0F9C"}
@@ -0,0 +1,7 @@
1
+ import { IPrediInputData } from "../../../../schema-definitions/datasources/interfaces/enapo/IPrediInputData";
2
+ import { IEnapoMeasurementsDto } from "../../../../schema-definitions/models/enapo/interfaces/IEnapoMeasurmentsDto";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ export declare class PreMeasurementsTransformation extends AbstractTransformation<IPrediInputData, IEnapoMeasurementsDto[]> {
5
+ name: string;
6
+ protected transformInternal: (data: IPrediInputData) => IEnapoMeasurementsDto[];
7
+ }