@golemio/energetics 1.8.3 → 1.9.0-dev.2544690351

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 (119) hide show
  1. package/db/migrations/postgresql/20250213141826-add-device-serial-id.js +53 -0
  2. package/db/migrations/postgresql/20260427093000-enapo-porsenna.js +53 -0
  3. package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-down.sql +1 -0
  4. package/db/migrations/postgresql/sqls/20250213141826-add-device-serial-id-up.sql +1 -0
  5. package/db/migrations/postgresql/sqls/20260427093000-enapo-porsenna-down.sql +3 -0
  6. package/db/migrations/postgresql/sqls/20260427093000-enapo-porsenna-up.sql +85 -0
  7. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.d.ts +3 -2
  8. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js +2 -1
  9. package/dist/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.js.map +1 -1
  10. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.d.ts +2 -0
  11. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js +1 -0
  12. package/dist/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.js.map +1 -1
  13. package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js +1 -0
  14. package/dist/integration-engine/commodity-providers/transformations/PreElectroTransformation.js.map +1 -1
  15. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js +1 -0
  16. package/dist/integration-engine/commodity-providers/transformations/PreMeasurementTransformation.js.map +1 -1
  17. package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js +1 -0
  18. package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js.map +1 -1
  19. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js +2 -1
  20. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasEEMeasurementsTask.js.map +1 -1
  21. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js +2 -1
  22. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPpasMeasurementsTask.js.map +1 -1
  23. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js +1 -1
  24. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPreMeasurementDataTask.js.map +1 -1
  25. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js +3 -1
  26. package/dist/integration-engine/commodity-providers/workers/tasks/FetchVeoliaMeasurementsTask.js.map +1 -1
  27. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.d.ts +15 -0
  28. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.js +67 -0
  29. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.js.map +1 -0
  30. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.d.ts +10 -0
  31. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.js +52 -0
  32. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.js.map +1 -0
  33. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.d.ts +7 -0
  34. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.js +3 -0
  35. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.js.map +1 -0
  36. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.d.ts +5 -0
  37. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.js +3 -0
  38. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.js.map +1 -0
  39. package/dist/integration-engine/enapo/helpers/IntervalGenerator.d.ts +1 -0
  40. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js +6 -0
  41. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js.map +1 -1
  42. package/dist/integration-engine/enapo/ioc/Di.js +24 -8
  43. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  44. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +8 -0
  45. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +8 -0
  46. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  47. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.d.ts +5 -0
  48. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.js +32 -0
  49. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.js.map +1 -0
  50. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.d.ts +5 -0
  51. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.js +32 -0
  52. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.js.map +1 -0
  53. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.d.ts +5 -0
  54. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.js +32 -0
  55. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.js.map +1 -0
  56. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.d.ts +8 -0
  57. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.js +47 -0
  58. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.js.map +1 -0
  59. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.d.ts +15 -0
  60. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.js +62 -0
  61. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.js.map +1 -0
  62. package/dist/integration-engine/enapo/workers/EnapoWorker.js +1 -0
  63. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  64. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.d.ts +5 -0
  65. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.js +3 -0
  66. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.js.map +1 -0
  67. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.d.ts +6 -0
  68. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.js +34 -0
  69. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.js.map +1 -0
  70. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.d.ts +27 -0
  71. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.js +125 -0
  72. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.js.map +1 -0
  73. package/dist/output-gateway/controllers/v2/AbstractController.js +4 -1
  74. package/dist/output-gateway/controllers/v2/AbstractController.js.map +1 -1
  75. package/dist/output-gateway/controllers/v2/BuildingsController.js +2 -1
  76. package/dist/output-gateway/controllers/v2/BuildingsController.js.map +1 -1
  77. package/dist/output-gateway/controllers/v2/V2DevicesController.js +1 -1
  78. package/dist/output-gateway/controllers/v2/V2DevicesController.js.map +1 -1
  79. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js +1 -1
  80. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js.map +1 -1
  81. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js +4 -3
  82. package/dist/schema-definitions/datasources/StaticMeterSettingsJsonSchema.js.map +1 -1
  83. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.d.ts +5 -0
  84. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.js +92 -0
  85. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.js.map +1 -0
  86. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.d.ts +15 -0
  87. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.js +3 -0
  88. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.js.map +1 -0
  89. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.d.ts +41 -0
  90. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.js +3 -0
  91. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.js.map +1 -0
  92. package/dist/schema-definitions/datasources/interfaces/IStaticMeterSettings.d.ts +3 -2
  93. package/dist/schema-definitions/models/MeasurementsModel.d.ts +1 -0
  94. package/dist/schema-definitions/models/MeasurementsModel.js +15 -1
  95. package/dist/schema-definitions/models/MeasurementsModel.js.map +1 -1
  96. package/dist/schema-definitions/models/interfaces/IMeasurementDto.d.ts +1 -0
  97. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.d.ts +21 -0
  98. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.js +77 -0
  99. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.js.map +1 -0
  100. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.d.ts +20 -0
  101. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.js +72 -0
  102. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.js.map +1 -0
  103. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.d.ts +27 -0
  104. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.js +107 -0
  105. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.js.map +1 -0
  106. package/dist/schema-definitions/models/porsenna/index.d.ts +3 -0
  107. package/dist/schema-definitions/models/porsenna/index.js +20 -0
  108. package/dist/schema-definitions/models/porsenna/index.js.map +1 -0
  109. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.d.ts +11 -0
  110. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.js +3 -0
  111. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.js.map +1 -0
  112. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.d.ts +10 -0
  113. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.js +3 -0
  114. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.js.map +1 -0
  115. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.d.ts +17 -0
  116. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.js +3 -0
  117. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.js.map +1 -0
  118. package/docs/implementation_documentation.md +39 -0
  119. package/package.json +12 -8
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var PorsennaDataSourceProvider_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.PorsennaDataSourceProvider = void 0;
17
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
18
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
19
+ const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
20
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
+ const url_1 = require("url");
22
+ let PorsennaDataSourceProvider = exports.PorsennaDataSourceProvider = PorsennaDataSourceProvider_1 = class PorsennaDataSourceProvider {
23
+ constructor(simpleConfig) {
24
+ this.simpleConfig = simpleConfig;
25
+ }
26
+ getDataSource(source, endpoint, schema, params) {
27
+ const { url: baseUrl, token } = this.getDistrictConfig(source);
28
+ const queryEntries = params
29
+ ? Object.entries(params).map(([paramName, paramValue]) => [paramName, String(paramValue)])
30
+ : [];
31
+ const queryString = queryEntries.length > 0 ? `?${new url_1.URLSearchParams(queryEntries).toString()}` : "";
32
+ const url = new URL(endpoint + queryString, baseUrl);
33
+ return new integration_engine_1.DataSource(PorsennaDataSourceProvider_1.DATASOURCE_NAME, new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
34
+ headers: { Authorization: `Bearer ${token}` },
35
+ method: "GET",
36
+ timeoutInSeconds: 60,
37
+ url: url.toString(),
38
+ }), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), schema);
39
+ }
40
+ getDistrictConfig(source) {
41
+ const url = this.simpleConfig.getValue(`module.energetics.porsenna.city_districts.${source}.url`);
42
+ const token = this.simpleConfig.getValue(`module.energetics.porsenna.city_districts.${source}.token`);
43
+ return { url, token };
44
+ }
45
+ };
46
+ PorsennaDataSourceProvider.DATASOURCE_NAME = "PorsennaDataSource";
47
+ exports.PorsennaDataSourceProvider = PorsennaDataSourceProvider = PorsennaDataSourceProvider_1 = __decorate([
48
+ (0, tsyringe_1.injectable)(),
49
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
50
+ __metadata("design:paramtypes", [Object])
51
+ ], PorsennaDataSourceProvider);
52
+ //# sourceMappingURL=PorsennaDataSourceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaDataSourceProvider.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,wEAAqE;AACrE,8EAAyF;AACzF,6IAA0I;AAE1I,iEAAwE;AACxE,6BAAsC;AAG/B,IAAM,0BAA0B,uEAAhC,MAAM,0BAA0B;IAGnC,YAAoD,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;IAAG,CAAC;IAE5E,aAAa,CAChB,MAAc,EACd,QAAgB,EAChB,MAA2B,EAC3B,MAAwC;QAExC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,MAAM;YACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAoB,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5G,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,qBAAe,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,IAAI,+BAAU,CACjB,4BAA0B,CAAC,eAAe,EAC1C,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,gBAAgB,EAAE,EAAE;YACpB,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;SACtB,CAAC,EACF,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,MAAM,CACT,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAS,6CAA6C,MAAM,MAAM,CAAC,CAAC;QAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAS,6CAA6C,MAAM,QAAQ,CAAC,CAAC;QAC9G,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;;AAnCuB,0CAAe,GAAG,oBAAoB,AAAvB,CAAwB;qCADtD,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,0BAA0B,CAqCtC"}
@@ -0,0 +1,7 @@
1
+ import { IConsumptionApiEntry } from "../../../../../schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry";
2
+ export interface IConsumptionTransformationInput {
3
+ entry: IConsumptionApiEntry;
4
+ deviceId: string;
5
+ source: string;
6
+ gaugeType: string | undefined;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IConsumptionApiEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConsumptionApiEntry.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { IGaugeApiDto } from "../../../../../schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto";
2
+ export interface IGaugeTransformationInput {
3
+ gauge: IGaugeApiDto;
4
+ source: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IGaugeApiDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGaugeApiDto.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.ts"],"names":[],"mappings":""}
@@ -3,4 +3,5 @@ import { DateTime, Interval } from "@golemio/core/dist/shared/luxon";
3
3
  export declare class IntervalGenerator {
4
4
  static getIntervals(from: DateTime, to: DateTime, daySplit: number): Interval[];
5
5
  static generateIntervalsFromTargetDays(data: IDataEntrypointParams, daySplit: number): Interval[];
6
+ static generateIntervalsFromYears(yearFrom: string, yearTo: string): Interval[];
6
7
  }
@@ -15,6 +15,12 @@ class IntervalGenerator {
15
15
  const intervals = luxon_1.Interval.fromDateTimes(leftBoundDate, currentDate).splitBy({ days: daySplit });
16
16
  return intervals;
17
17
  }
18
+ static generateIntervalsFromYears(yearFrom, yearTo) {
19
+ const startOfYearFrom = luxon_1.DateTime.fromISO(new Date(yearFrom).toISOString()).startOf("year");
20
+ const startOfYearTo = luxon_1.DateTime.fromISO(new Date(yearTo).toISOString()).startOf("year");
21
+ const intervals = luxon_1.Interval.fromDateTimes(startOfYearFrom, startOfYearTo).splitBy({ years: 1 });
22
+ return intervals;
23
+ }
18
24
  }
19
25
  exports.IntervalGenerator = IntervalGenerator;
20
26
  //# sourceMappingURL=IntervalGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntervalGenerator.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/helpers/IntervalGenerator.ts"],"names":[],"mappings":";;;AACA,2DAAqE;AAErE,MAAa,iBAAiB;IACnB,MAAM,CAAC,YAAY,CAAC,IAAc,EAAE,EAAY,EAAE,QAAgB;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvF,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAAC,IAA2B,EAAE,QAAgB;QACvF,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjG,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAfD,8CAeC"}
1
+ {"version":3,"file":"IntervalGenerator.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/helpers/IntervalGenerator.ts"],"names":[],"mappings":";;;AACA,2DAAqE;AAErE,MAAa,iBAAiB;IACnB,MAAM,CAAC,YAAY,CAAC,IAAc,EAAE,EAAY,EAAE,QAAgB;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvF,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAAC,IAA2B,EAAE,QAAgB;QACvF,MAAM,WAAW,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjG,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,0BAA0B,CAAC,QAAgB,EAAE,MAAc;QACrE,MAAM,eAAe,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,gBAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAtBD,8CAsBC"}
@@ -7,6 +7,8 @@ const PpasAveApiDataSourceProvider_1 = require("../../commodity-providers/dataso
7
7
  const WorkerContainerToken_1 = require("../../commodity-providers/ioc/WorkerContainerToken");
8
8
  const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
9
9
  const EnoDatasourceFactory_1 = require("../datasources/eno/EnoDatasourceFactory");
10
+ const PorsennaDataSourceProvider_1 = require("../datasources/porsenna/PorsennaDataSourceProvider");
11
+ const PorsennaDataSource_1 = require("../datasources/porsenna/PorsennaDataSource");
10
12
  const PpasDistributionDatasource_1 = require("../datasources/ppas/distribution/PpasDistributionDatasource");
11
13
  const EnapoMeasurementsRepository_1 = require("../repositories/EnapoMeasurementsRepository");
12
14
  const PreIncomingDataLogRepository_1 = require("../repositories/PreIncomingDataLogRepository");
@@ -21,26 +23,32 @@ const EnoPropertyRepository_1 = require("../repositories/eno/EnoPropertyReposito
21
23
  const EnoRemovedGIDRepository_1 = require("../repositories/eno/EnoRemovedGIDRepository");
22
24
  const EnoStructureRepository_1 = require("../repositories/eno/EnoStructureRepository");
23
25
  const EnoStructureTypeRepository_1 = require("../repositories/eno/EnoStructureTypeRepository");
26
+ const PorsennaBuildingsRepository_1 = require("../repositories/porsenna/PorsennaBuildingsRepository");
27
+ const PorsennaConsumptionRepository_1 = require("../repositories/porsenna/PorsennaConsumptionRepository");
28
+ const PorsennaDevicesRepository_1 = require("../repositories/porsenna/PorsennaDevicesRepository");
29
+ const PpasDistributionInvoiceDeviceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceDeviceRepository");
30
+ const PpasDistributionInvoicePriceRepository_1 = require("../repositories/ppas/PpasDistributionInvoicePriceRepository");
31
+ const PpasDistributionInvoiceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceRepository");
24
32
  const PPasMeasurementTransformation_1 = require("../transformations/PPasMeasurementTransformation");
25
33
  const EnoEJTransformation_1 = require("../transformations/eno/EnoEJTransformation");
26
34
  const EnoManagerTransformation_1 = require("../transformations/eno/EnoManagerTransformation");
27
35
  const EnoOrganizationTransformation_1 = require("../transformations/eno/EnoOrganizationTransformation");
28
36
  const EnoStructureTypeTransformation_1 = require("../transformations/eno/EnoStructureTypeTransformation");
37
+ const PorsennaConsumptionTransformation_1 = require("../transformations/porsenna/PorsennaConsumptionTransformation");
38
+ const PorsennaGaugeTransformation_1 = require("../transformations/porsenna/PorsennaGaugeTransformation");
39
+ const PpasDistributionTransformation_1 = require("../transformations/ppas/PpasDistributionTransformation");
29
40
  const PreDailyMeasurementsTransformation_1 = require("../transformations/pre/PreDailyMeasurementsTransformation");
30
41
  const PreMeasurementsTransformation_1 = require("../transformations/pre/PreMeasurementsTransformation");
31
42
  const PreMetadataTransfromation_1 = require("../transformations/pre/PreMetadataTransfromation");
43
+ const EnapoPpasDistributionTask_1 = require("../workers/task/EnapoPpasDistributionTask");
32
44
  const EnapoPpasTask_1 = require("../workers/task/EnapoPpasTask");
33
45
  const EnapoPrediTask_1 = require("../workers/task/EnapoPrediTask");
34
46
  const EnoBuildingTask_1 = require("../workers/task/EnoBuildingTask");
35
47
  const EnoGeometryTask_1 = require("../workers/task/EnoGeometryTask");
36
48
  const EnoLookupTask_1 = require("../workers/task/EnoLookupTask");
37
49
  const EnoStructureTask_1 = require("../workers/task/EnoStructureTask");
50
+ const PorsennaDistributionTask_1 = require("../workers/task/PorsennaDistributionTask");
38
51
  const EnapoWorkerContainerToken_1 = require("./EnapoWorkerContainerToken");
39
- const PpasDistributionTransformation_1 = require("../transformations/ppas/PpasDistributionTransformation");
40
- const PpasDistributionInvoiceDeviceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceDeviceRepository");
41
- const PpasDistributionInvoicePriceRepository_1 = require("../repositories/ppas/PpasDistributionInvoicePriceRepository");
42
- const PpasDistributionInvoiceRepository_1 = require("../repositories/ppas/PpasDistributionInvoiceRepository");
43
- const EnapoPpasDistributionTask_1 = require("../workers/task/EnapoPpasDistributionTask");
44
52
  //#region Initialization
45
53
  const EnapoContainer = Di_1.IntegrationEngineContainer.createChildContainer();
46
54
  exports.EnapoContainer = EnapoContainer;
@@ -51,6 +59,8 @@ EnapoContainer.register(WorkerContainerToken_1.WorkerContainerToken.PpasAveApiDa
51
59
  EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.CommodityProviderDataSourceFactory, CommodityProviderDataSourceFactory_1.CommodityProviderDataSourceFactory);
52
60
  EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoDatasourceFactory, EnoDatasourceFactory_1.EnoDatasourceFactory);
53
61
  EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasDistributionDatasource, PpasDistributionDatasource_1.PpasDistributionDatasource);
62
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDatasource, PorsennaDataSource_1.PorsennaDataSource);
63
+ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDataSourceProvider, PorsennaDataSourceProvider_1.PorsennaDataSourceProvider);
54
64
  //#endregion
55
65
  //#region Repositories
56
66
  EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoMeasurementsRepository, EnapoMeasurementsRepository_1.EnapoMeasurementsRepository)
@@ -68,7 +78,10 @@ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.En
68
78
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoGeometryRepository, EnoGeometryRepository_1.EnoGeometryRepository)
69
79
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceDeviceRepository, PpasDistributionInvoiceDeviceRepository_1.PpasDistributionInvoiceDeviceRepository)
70
80
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoicePriceRepository, PpasDistributionInvoicePriceRepository_1.PpasDistributionInvoicePriceRepository)
71
- .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceRepository, PpasDistributionInvoiceRepository_1.PpasDistributionInvoiceRepository);
81
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionInvoiceRepository, PpasDistributionInvoiceRepository_1.PpasDistributionInvoiceRepository)
82
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaBuildingsRepository, PorsennaBuildingsRepository_1.PorsennaBuildingsRepository)
83
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaConsumptionRepository, PorsennaConsumptionRepository_1.PorsennaConsumptionRepository)
84
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDevicesRepository, PorsennaDevicesRepository_1.PorsennaDevicesRepository);
72
85
  //#endregion
73
86
  //#region Transformation
74
87
  EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PPasMeasurementTransformation, PPasMeasurementTransformation_1.PPasMeasurementTransformation);
@@ -79,7 +92,9 @@ EnapoContainer.registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContaine
79
92
  .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoOrganizationTransformation, EnoOrganizationTransformation_1.EnoOrganizationTransformation)
80
93
  .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoManagerTransformation, EnoManagerTransformation_1.EnoManagerTransformation)
81
94
  .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoEJTransformation, EnoEJTransformation_1.EnoEJTransformation)
82
- .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionTransformation, PpasDistributionTransformation_1.PpasDistributionTransformation);
95
+ .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PpasDistributionTransformation, PpasDistributionTransformation_1.PpasDistributionTransformation)
96
+ .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaGaugeTransformation, PorsennaGaugeTransformation_1.PorsennaGaugeTransformation)
97
+ .registerSingleton(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaConsumptionTransformation, PorsennaConsumptionTransformation_1.PorsennaConsumptionTransformation);
83
98
  //#endregion
84
99
  //#region Tasks
85
100
  EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasTask, EnapoPpasTask_1.EnapoPpasTask);
@@ -88,5 +103,6 @@ EnapoContainer.register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.En
88
103
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoBuildingTask, EnoBuildingTask_1.EnoBuildingTask)
89
104
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoStructureTask, EnoStructureTask_1.EnoStructureTask)
90
105
  .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoGeometryTask, EnoGeometryTask_1.EnoGeometryTask)
91
- .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasDistributionTask, EnapoPpasDistributionTask_1.EnapoPpasDistributionTask);
106
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasDistributionTask, EnapoPpasDistributionTask_1.EnapoPpasDistributionTask)
107
+ .register(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDistributionTask, PorsennaDistributionTask_1.PorsennaDistributionTask);
92
108
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/enapo/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,28 @@
1
1
  declare const EnapoWorkerContainerToken: {
2
2
  CommodityProviderDataSourceFactory: symbol;
3
3
  EnapoPpasDistributionDatasource: symbol;
4
+ PorsennaDatasource: symbol;
5
+ PorsennaDataSourceProvider: symbol;
4
6
  EnapoMeasurementsRepository: symbol;
5
7
  EnapoMetadataRepository: symbol;
6
8
  PreIncomingDataLogRepository: symbol;
7
9
  PpasDistributionInvoiceDeviceRepository: symbol;
8
10
  PpasDistributionInvoicePriceRepository: symbol;
9
11
  PpasDistributionInvoiceRepository: symbol;
12
+ PorsennaBuildingsRepository: symbol;
13
+ PorsennaConsumptionRepository: symbol;
14
+ PorsennaDevicesRepository: symbol;
10
15
  PPasMeasurementTransformation: symbol;
11
16
  PreMeasurementsTransformation: symbol;
12
17
  PreDailyMeasurementsTransformation: symbol;
13
18
  PreMetadataTransformation: symbol;
14
19
  PpasDistributionTransformation: symbol;
20
+ PorsennaGaugeTransformation: symbol;
21
+ PorsennaConsumptionTransformation: symbol;
15
22
  EnapoPpasTask: symbol;
16
23
  EnapoPrediTask: symbol;
17
24
  EnapoPpasDistributionTask: symbol;
25
+ PorsennaDistributionTask: symbol;
18
26
  EnoDatasourceFactory: symbol;
19
27
  EnoStructureTypeTransformation: symbol;
20
28
  EnoOrganizationTransformation: symbol;
@@ -5,6 +5,8 @@ const EnapoWorkerContainerToken = {
5
5
  //#region Datasource
6
6
  CommodityProviderDataSourceFactory: Symbol(),
7
7
  EnapoPpasDistributionDatasource: Symbol(),
8
+ PorsennaDatasource: Symbol(),
9
+ PorsennaDataSourceProvider: Symbol(),
8
10
  //#endregion
9
11
  //#region Repositories
10
12
  EnapoMeasurementsRepository: Symbol(),
@@ -13,6 +15,9 @@ const EnapoWorkerContainerToken = {
13
15
  PpasDistributionInvoiceDeviceRepository: Symbol(),
14
16
  PpasDistributionInvoicePriceRepository: Symbol(),
15
17
  PpasDistributionInvoiceRepository: Symbol(),
18
+ PorsennaBuildingsRepository: Symbol(),
19
+ PorsennaConsumptionRepository: Symbol(),
20
+ PorsennaDevicesRepository: Symbol(),
16
21
  //#endregion
17
22
  //#region Transformations
18
23
  PPasMeasurementTransformation: Symbol(),
@@ -20,11 +25,14 @@ const EnapoWorkerContainerToken = {
20
25
  PreDailyMeasurementsTransformation: Symbol(),
21
26
  PreMetadataTransformation: Symbol(),
22
27
  PpasDistributionTransformation: Symbol(),
28
+ PorsennaGaugeTransformation: Symbol(),
29
+ PorsennaConsumptionTransformation: Symbol(),
23
30
  //#endregion
24
31
  //#region Tasks
25
32
  EnapoPpasTask: Symbol(),
26
33
  EnapoPrediTask: Symbol(),
27
34
  EnapoPpasDistributionTask: Symbol(),
35
+ PorsennaDistributionTask: Symbol(),
28
36
  //#endregion
29
37
  //#region Eno
30
38
  EnoDatasourceFactory: Symbol(),
@@ -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,+BAA+B,EAAE,MAAM,EAAE;IACzC,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,4BAA4B,EAAE,MAAM,EAAE;IACtC,uCAAuC,EAAE,MAAM,EAAE;IACjD,sCAAsC,EAAE,MAAM,EAAE;IAChD,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,aAAa;IACb,oBAAoB,EAAE,MAAM,EAAE;IAE9B,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,wBAAwB,EAAE,MAAM,EAAE;IAClC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,eAAe,EAAE,MAAM,EAAE;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,uBAAuB,EAAE,MAAM,EAAE;IACjC,sBAAsB,EAAE,MAAM,EAAE;IAChC,qBAAqB,EAAE,MAAM,EAAE;IAE/B,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,eAAe,EAAE,MAAM,EAAE;IACzB,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,+BAA+B,EAAE,MAAM,EAAE;IACzC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,sBAAsB;IACtB,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,4BAA4B,EAAE,MAAM,EAAE;IACtC,uCAAuC,EAAE,MAAM,EAAE;IACjD,sCAAsC,EAAE,MAAM,EAAE;IAChD,iCAAiC,EAAE,MAAM,EAAE;IAC3C,2BAA2B,EAAE,MAAM,EAAE;IACrC,6BAA6B,EAAE,MAAM,EAAE;IACvC,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,yBAAyB;IACzB,6BAA6B,EAAE,MAAM,EAAE;IACvC,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,yBAAyB,EAAE,MAAM,EAAE;IACnC,8BAA8B,EAAE,MAAM,EAAE;IACxC,2BAA2B,EAAE,MAAM,EAAE;IACrC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,eAAe;IACf,aAAa,EAAE,MAAM,EAAE;IACvB,cAAc,EAAE,MAAM,EAAE;IACxB,yBAAyB,EAAE,MAAM,EAAE;IACnC,wBAAwB,EAAE,MAAM,EAAE;IAClC,YAAY;IAEZ,aAAa;IACb,oBAAoB,EAAE,MAAM,EAAE;IAE9B,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,wBAAwB,EAAE,MAAM,EAAE;IAClC,mBAAmB,EAAE,MAAM,EAAE;IAE7B,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,eAAe,EAAE,MAAM,EAAE;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,uBAAuB,EAAE,MAAM,EAAE;IACjC,sBAAsB,EAAE,MAAM,EAAE;IAChC,qBAAqB,EAAE,MAAM,EAAE;IAE/B,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,eAAe,EAAE,MAAM,EAAE;IACzB,YAAY;CACf,CAAC;AAEO,8DAAyB"}
@@ -0,0 +1,5 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models/IModel";
2
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
3
+ export declare class PorsennaBuildingsRepository 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.PorsennaBuildingsRepository = void 0;
13
+ const _sch_1 = require("../../../../schema-definitions");
14
+ const porsenna_1 = require("../../../../schema-definitions/models/porsenna");
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 PorsennaBuildingsRepository = exports.PorsennaBuildingsRepository = class PorsennaBuildingsRepository extends PostgresModel_1.PostgresModel {
19
+ constructor() {
20
+ super(porsenna_1.PorsennaBuildingsModel.REPOSITORY_NAME, {
21
+ pgTableName: porsenna_1.PorsennaBuildingsModel.TABLE_NAME,
22
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
23
+ outputSequelizeAttributes: porsenna_1.PorsennaBuildingsModel.attributeModel,
24
+ savingType: "insertOrUpdate",
25
+ }, new golemio_validator_1.JSONSchemaValidator(porsenna_1.PorsennaBuildingsModel.JSON_SCHEMA_VALIDATOR_NAME, porsenna_1.PorsennaBuildingsModel.jsonSchema));
26
+ }
27
+ };
28
+ exports.PorsennaBuildingsRepository = PorsennaBuildingsRepository = __decorate([
29
+ (0, tsyringe_1.injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], PorsennaBuildingsRepository);
32
+ //# sourceMappingURL=PorsennaBuildingsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaBuildingsRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAwC;AACxC,6EAA8D;AAE9D,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,2BAA2B,yCAAjC,MAAM,2BAA4B,SAAQ,6BAAa;IAC1D;QACI,KAAK,CACD,iCAAsB,CAAC,eAAe,EACtC;YACI,WAAW,EAAE,iCAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,iCAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,iCAAsB,CAAC,0BAA0B,EAAE,iCAAsB,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 PorsennaConsumptionRepository 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.PorsennaConsumptionRepository = void 0;
13
+ const _sch_1 = require("../../../../schema-definitions");
14
+ const porsenna_1 = require("../../../../schema-definitions/models/porsenna");
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 PorsennaConsumptionRepository = exports.PorsennaConsumptionRepository = class PorsennaConsumptionRepository extends PostgresModel_1.PostgresModel {
19
+ constructor() {
20
+ super(porsenna_1.PorsennaConsumptionModel.REPOSITORY_NAME, {
21
+ pgTableName: porsenna_1.PorsennaConsumptionModel.TABLE_NAME,
22
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
23
+ outputSequelizeAttributes: porsenna_1.PorsennaConsumptionModel.attributeModel,
24
+ savingType: "insertOrUpdate",
25
+ }, new golemio_validator_1.JSONSchemaValidator(porsenna_1.PorsennaConsumptionModel.JSON_SCHEMA_VALIDATOR_NAME, porsenna_1.PorsennaConsumptionModel.jsonSchema));
26
+ }
27
+ };
28
+ exports.PorsennaConsumptionRepository = PorsennaConsumptionRepository = __decorate([
29
+ (0, tsyringe_1.injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], PorsennaConsumptionRepository);
32
+ //# sourceMappingURL=PorsennaConsumptionRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaConsumptionRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAwC;AACxC,6EAAgE;AAEhE,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,6BAAa;IAC5D;QACI,KAAK,CACD,mCAAwB,CAAC,eAAe,EACxC;YACI,WAAW,EAAE,mCAAwB,CAAC,UAAU;YAChD,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,mCAAwB,CAAC,cAAc;YAClE,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,mCAAwB,CAAC,0BAA0B,EAAE,mCAAwB,CAAC,UAAU,CAAC,CACpH,CAAC;IACN,CAAC;CACJ,CAAA;wCAbY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;;GACA,6BAA6B,CAazC"}
@@ -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 PorsennaDevicesRepository 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.PorsennaDevicesRepository = void 0;
13
+ const _sch_1 = require("../../../../schema-definitions");
14
+ const porsenna_1 = require("../../../../schema-definitions/models/porsenna");
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 PorsennaDevicesRepository = exports.PorsennaDevicesRepository = class PorsennaDevicesRepository extends PostgresModel_1.PostgresModel {
19
+ constructor() {
20
+ super(porsenna_1.PorsennaDevicesModel.REPOSITORY_NAME, {
21
+ pgTableName: porsenna_1.PorsennaDevicesModel.TABLE_NAME,
22
+ pgSchema: _sch_1.EnergeticsSchema.pgSchema,
23
+ outputSequelizeAttributes: porsenna_1.PorsennaDevicesModel.attributeModel,
24
+ savingType: "insertOrUpdate",
25
+ }, new golemio_validator_1.JSONSchemaValidator(porsenna_1.PorsennaDevicesModel.JSON_SCHEMA_VALIDATOR_NAME, porsenna_1.PorsennaDevicesModel.jsonSchema));
26
+ }
27
+ };
28
+ exports.PorsennaDevicesRepository = PorsennaDevicesRepository = __decorate([
29
+ (0, tsyringe_1.injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], PorsennaDevicesRepository);
32
+ //# sourceMappingURL=PorsennaDevicesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaDevicesRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAwC;AACxC,6EAA4D;AAE5D,8FAA2F;AAC3F,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,6BAAa;IACxD;QACI,KAAK,CACD,+BAAoB,CAAC,eAAe,EACpC;YACI,WAAW,EAAE,+BAAoB,CAAC,UAAU;YAC5C,QAAQ,EAAE,uBAAgB,CAAC,QAAQ;YACnC,yBAAyB,EAAE,+BAAoB,CAAC,cAAc;YAC9D,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,+BAAoB,CAAC,0BAA0B,EAAE,+BAAoB,CAAC,UAAU,CAAC,CAC5G,CAAC;IACN,CAAC;CACJ,CAAA;oCAbY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;;GACA,yBAAyB,CAarC"}
@@ -0,0 +1,8 @@
1
+ import { IConsumptionTransformationInput } from "../../datasources/porsenna/interfaces/IConsumptionApiEntry";
2
+ import { IConsumption } from "../../../../schema-definitions/models/porsenna/interfaces/IConsumption";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ export declare class PorsennaConsumptionTransformation extends AbstractTransformation<IConsumptionTransformationInput, IConsumption> {
5
+ name: string;
6
+ protected transformInternal: (input: IConsumptionTransformationInput) => IConsumption;
7
+ private extractCommodity;
8
+ }
@@ -0,0 +1,47 @@
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.PorsennaConsumptionTransformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ let PorsennaConsumptionTransformation = exports.PorsennaConsumptionTransformation = class PorsennaConsumptionTransformation extends AbstractTransformation_1.AbstractTransformation {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = "PorsennaConsumptionTransformation";
16
+ this.transformInternal = (input) => {
17
+ return {
18
+ source: input.source,
19
+ device_id: input.deviceId,
20
+ var: "yearly",
21
+ period: input.entry.period,
22
+ value: input.entry.consumption.value,
23
+ unit: input.entry.consumption.unit,
24
+ commodity: this.extractCommodity(input.gaugeType),
25
+ count: input.entry.consumption.count ?? null,
26
+ };
27
+ };
28
+ }
29
+ extractCommodity(gaugeType) {
30
+ if (!gaugeType)
31
+ return null;
32
+ const lower = gaugeType.toLowerCase();
33
+ if (lower.includes("gas"))
34
+ return "gas";
35
+ if (lower.includes("electric"))
36
+ return "electricity";
37
+ if (lower.includes("heat"))
38
+ return "heat";
39
+ if (lower.includes("water"))
40
+ return "water";
41
+ return null;
42
+ }
43
+ };
44
+ exports.PorsennaConsumptionTransformation = PorsennaConsumptionTransformation = __decorate([
45
+ (0, tsyringe_1.injectable)()
46
+ ], PorsennaConsumptionTransformation);
47
+ //# sourceMappingURL=PorsennaConsumptionTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaConsumptionTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,iCAAiC,+CAAvC,MAAM,iCAAkC,SAAQ,+CAAqE;IAArH;;QACI,SAAI,GAAG,mCAAmC,CAAC;QAExC,sBAAiB,GAAG,CAAC,KAAsC,EAAgB,EAAE;YACnF,OAAO;gBACH,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;gBACpC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;gBAClC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI;aAC/C,CAAC;QACN,CAAC,CAAC;IAWN,CAAC;IATW,gBAAgB,CAAC,SAA6B;QAClD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,aAAa,CAAC;QACrD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;4CAzBY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;GACA,iCAAiC,CAyB7C"}
@@ -0,0 +1,15 @@
1
+ import { IGaugeTransformationInput } from "../../datasources/porsenna/interfaces/IGaugeApiDto";
2
+ import { IBuildings } from "../../../../schema-definitions/models/porsenna/interfaces/IBuildings";
3
+ import { IDevices } from "../../../../schema-definitions/models/porsenna/interfaces/IDevices";
4
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
5
+ export declare class PorsennaGaugeTransformation extends AbstractTransformation<IGaugeTransformationInput, {
6
+ device: IDevices;
7
+ building: IBuildings;
8
+ }> {
9
+ name: string;
10
+ protected transformInternal: (input: IGaugeTransformationInput) => {
11
+ device: IDevices;
12
+ building: IBuildings;
13
+ };
14
+ private parseDisableReasonId;
15
+ }
@@ -0,0 +1,62 @@
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.PorsennaGaugeTransformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ let PorsennaGaugeTransformation = exports.PorsennaGaugeTransformation = class PorsennaGaugeTransformation extends AbstractTransformation_1.AbstractTransformation {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = "PorsennaGaugeTransformation";
16
+ this.transformInternal = (input) => {
17
+ const { gauge, source } = input;
18
+ const building = {
19
+ source,
20
+ id: gauge.building.id,
21
+ name: gauge.building.name ?? null,
22
+ street: gauge.building.street ?? null,
23
+ house_number: gauge.building.houseNumber ?? null,
24
+ street_number: gauge.building.streetNumber ?? null,
25
+ city: gauge.building.city ?? null,
26
+ postcode: gauge.building.postcode ?? null,
27
+ gid: gauge.building.gid ?? null,
28
+ };
29
+ const device = {
30
+ source,
31
+ id: gauge.id,
32
+ building_id: gauge.building.id,
33
+ parent_device_id: gauge.parent ? gauge.parent.split("/gauges/")[1] ?? null : null,
34
+ level: gauge.level ?? null,
35
+ type: gauge.type ?? null,
36
+ name: gauge.name ?? null,
37
+ measurement_target: gauge.measurementTarget ?? null,
38
+ disabled_at: gauge.disabledAt ?? null,
39
+ disable_reason_id: this.parseDisableReasonId(gauge.disableReason),
40
+ show_in_output: gauge.showInOutput ?? null,
41
+ identifier: gauge.identification.identifier ?? null,
42
+ supply_point_number: gauge.identification.supplyPointNumber ?? null,
43
+ meter_number: gauge.identification.meterNumber ?? null,
44
+ identification_gid: gauge.identification.gid ?? null,
45
+ };
46
+ return { device, building };
47
+ };
48
+ }
49
+ parseDisableReasonId(disableReason) {
50
+ if (!disableReason)
51
+ return null;
52
+ const parts = disableReason.split("/disable_reasons/");
53
+ if (parts.length < 2)
54
+ return null;
55
+ const id = parseInt(parts[1], 10);
56
+ return isNaN(id) ? null : id;
57
+ }
58
+ };
59
+ exports.PorsennaGaugeTransformation = PorsennaGaugeTransformation = __decorate([
60
+ (0, tsyringe_1.injectable)()
61
+ ], PorsennaGaugeTransformation);
62
+ //# sourceMappingURL=PorsennaGaugeTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaGaugeTransformation.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAGA,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,2BAA2B,yCAAjC,MAAM,2BAA4B,SAAQ,+CAGhD;IAHM;;QAII,SAAI,GAAG,6BAA6B,CAAC;QAElC,sBAAiB,GAAG,CAAC,KAAgC,EAA8C,EAAE;YAC3G,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;YAEhC,MAAM,QAAQ,GAAe;gBACzB,MAAM;gBACN,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACrB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI;gBACjC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;gBACrC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI;gBAChD,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;gBAClD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI;gBACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;gBACzC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI;aAClC,CAAC;YAEF,MAAM,MAAM,GAAa;gBACrB,MAAM;gBACN,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC9B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;gBACjF,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;gBACnD,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;gBACrC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC;gBACjE,cAAc,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBAC1C,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI;gBACnD,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,IAAI,IAAI;gBACnE,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,IAAI,IAAI;gBACtD,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,IAAI;aACvD,CAAC;YAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC;IASN,CAAC;IAPW,oBAAoB,CAAC,aAAiC;QAC1D,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;CACJ,CAAA;sCAjDY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;GACA,2BAA2B,CAiDvC"}
@@ -21,6 +21,7 @@ class EnapoWorker extends integration_engine_1.AbstractWorker {
21
21
  this.registerTask(Di_1.EnapoContainer.resolve(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoStructureTask));
22
22
  this.registerTask(Di_1.EnapoContainer.resolve(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnoGeometryTask));
23
23
  this.registerTask(Di_1.EnapoContainer.resolve(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.EnapoPpasDistributionTask));
24
+ this.registerTask(Di_1.EnapoContainer.resolve(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDistributionTask));
24
25
  }
25
26
  }
26
27
  exports.EnapoWorker = EnapoWorker;