@golemio/energetics 1.8.3-dev.2498872172 → 1.8.3-dev.2500885099

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 (89) hide show
  1. package/db/migrations/postgresql/20260427093000-enapo-porsenna.js +53 -0
  2. package/db/migrations/postgresql/sqls/20260427093000-enapo-porsenna-down.sql +3 -0
  3. package/db/migrations/postgresql/sqls/20260427093000-enapo-porsenna-up.sql +85 -0
  4. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.d.ts +15 -0
  5. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.js +67 -0
  6. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.js.map +1 -0
  7. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.d.ts +10 -0
  8. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.js +52 -0
  9. package/dist/integration-engine/enapo/datasources/porsenna/PorsennaDataSourceProvider.js.map +1 -0
  10. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.d.ts +7 -0
  11. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.js +3 -0
  12. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IConsumptionApiEntry.js.map +1 -0
  13. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.d.ts +5 -0
  14. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.js +3 -0
  15. package/dist/integration-engine/enapo/datasources/porsenna/interfaces/IGaugeApiDto.js.map +1 -0
  16. package/dist/integration-engine/enapo/helpers/IntervalGenerator.d.ts +1 -0
  17. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js +6 -0
  18. package/dist/integration-engine/enapo/helpers/IntervalGenerator.js.map +1 -1
  19. package/dist/integration-engine/enapo/ioc/Di.js +24 -8
  20. package/dist/integration-engine/enapo/ioc/Di.js.map +1 -1
  21. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.d.ts +8 -0
  22. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js +8 -0
  23. package/dist/integration-engine/enapo/ioc/EnapoWorkerContainerToken.js.map +1 -1
  24. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.d.ts +5 -0
  25. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.js +32 -0
  26. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaBuildingsRepository.js.map +1 -0
  27. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.d.ts +5 -0
  28. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.js +32 -0
  29. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaConsumptionRepository.js.map +1 -0
  30. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.d.ts +5 -0
  31. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.js +32 -0
  32. package/dist/integration-engine/enapo/repositories/porsenna/PorsennaDevicesRepository.js.map +1 -0
  33. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.d.ts +8 -0
  34. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.js +47 -0
  35. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.js.map +1 -0
  36. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.d.ts +15 -0
  37. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.js +62 -0
  38. package/dist/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.js.map +1 -0
  39. package/dist/integration-engine/enapo/workers/EnapoWorker.js +1 -0
  40. package/dist/integration-engine/enapo/workers/EnapoWorker.js.map +1 -1
  41. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.d.ts +5 -0
  42. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.js +3 -0
  43. package/dist/integration-engine/enapo/workers/interfaces/IEnapoPorsennaDistributionParams.js.map +1 -0
  44. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.d.ts +6 -0
  45. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.js +34 -0
  46. package/dist/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.js.map +1 -0
  47. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.d.ts +27 -0
  48. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.js +125 -0
  49. package/dist/integration-engine/enapo/workers/task/PorsennaDistributionTask.js.map +1 -0
  50. package/dist/output-gateway/controllers/v2/AbstractController.js +4 -1
  51. package/dist/output-gateway/controllers/v2/AbstractController.js.map +1 -1
  52. package/dist/output-gateway/controllers/v2/BuildingsController.js +2 -1
  53. package/dist/output-gateway/controllers/v2/BuildingsController.js.map +1 -1
  54. package/dist/output-gateway/controllers/v2/V2DevicesController.js +1 -1
  55. package/dist/output-gateway/controllers/v2/V2DevicesController.js.map +1 -1
  56. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js +1 -1
  57. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js.map +1 -1
  58. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.d.ts +5 -0
  59. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.js +92 -0
  60. package/dist/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.js.map +1 -0
  61. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.d.ts +15 -0
  62. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.js +3 -0
  63. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry.js.map +1 -0
  64. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.d.ts +41 -0
  65. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.js +3 -0
  66. package/dist/schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto.js.map +1 -0
  67. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.d.ts +21 -0
  68. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.js +77 -0
  69. package/dist/schema-definitions/models/porsenna/PorsennaBuildingsModel.js.map +1 -0
  70. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.d.ts +20 -0
  71. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.js +72 -0
  72. package/dist/schema-definitions/models/porsenna/PorsennaConsumptionModel.js.map +1 -0
  73. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.d.ts +27 -0
  74. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.js +107 -0
  75. package/dist/schema-definitions/models/porsenna/PorsennaDevicesModel.js.map +1 -0
  76. package/dist/schema-definitions/models/porsenna/index.d.ts +3 -0
  77. package/dist/schema-definitions/models/porsenna/index.js +20 -0
  78. package/dist/schema-definitions/models/porsenna/index.js.map +1 -0
  79. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.d.ts +11 -0
  80. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.js +3 -0
  81. package/dist/schema-definitions/models/porsenna/interfaces/IBuildings.js.map +1 -0
  82. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.d.ts +10 -0
  83. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.js +3 -0
  84. package/dist/schema-definitions/models/porsenna/interfaces/IConsumption.js.map +1 -0
  85. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.d.ts +17 -0
  86. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.js +3 -0
  87. package/dist/schema-definitions/models/porsenna/interfaces/IDevices.js.map +1 -0
  88. package/docs/implementation_documentation.md +39 -0
  89. package/package.json +10 -6
@@ -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', '20260427093000-enapo-porsenna-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', '20260427093000-enapo-porsenna-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_porsenna_consumption;
2
+ drop table enapo_porsenna_devices;
3
+ drop table enapo_porsenna_buildings;
@@ -0,0 +1,85 @@
1
+ -- Buildings registry sourced from Porsenna (e-manažer)
2
+ -- Populated from the embedded `building` object in /gauges/{id} responses.
3
+ -- The (source, id) PK reflects that Porsenna building ids are integers local to each tenant instance.
4
+ CREATE TABLE enapo_porsenna_buildings (
5
+ source varchar(50) NOT NULL,
6
+ id int4 NOT NULL,
7
+ name varchar NULL,
8
+ street varchar NULL,
9
+ house_number varchar NULL,
10
+ street_number varchar NULL,
11
+ city varchar NULL,
12
+ postcode varchar NULL,
13
+ gid varchar NULL,
14
+ created_at timestamptz DEFAULT now() NULL,
15
+ updated_at timestamptz NULL,
16
+ CONSTRAINT enapo_porsenna_buildings_pk PRIMARY KEY (source, id)
17
+ );
18
+
19
+ COMMENT ON COLUMN enapo_porsenna_buildings.source IS 'Tenant identifier, e.g. porsenna_p7. Matches ProviderType enum.';
20
+ COMMENT ON COLUMN enapo_porsenna_buildings.gid IS 'gid string as supplied by Porsenna. Suspected RUIAN building identifier based on format (8-digit numeric in sample payload) but not confirmed with the source system. If confirmed, becomes a soft link to eno_budova.gid (no FK).';
21
+
22
+ CREATE INDEX enapo_porsenna_buildings_gid_idx ON enapo_porsenna_buildings (gid);
23
+
24
+
25
+ -- Devices sourced from Porsenna Gauges. Identification fields flattened onto the device.
26
+ -- DisableReason endpoint is not accessible to us; we keep only the numeric id parsed from the IRI.
27
+ CREATE TABLE enapo_porsenna_devices (
28
+ source varchar(50) NOT NULL,
29
+ id uuid NOT NULL,
30
+ building_id int4 NULL,
31
+ parent_device_id uuid NULL,
32
+ "level" varchar NULL,
33
+ "type" varchar NULL,
34
+ name varchar NULL,
35
+ measurement_target varchar NULL,
36
+ disabled_at timestamptz NULL,
37
+ disable_reason_id int4 NULL,
38
+ show_in_output bool NULL,
39
+ -- flattened Identification
40
+ identifier varchar NULL,
41
+ supply_point_number varchar NULL,
42
+ meter_number varchar NULL,
43
+ identification_gid varchar NULL,
44
+ created_at timestamptz DEFAULT now() NULL,
45
+ updated_at timestamptz NULL,
46
+ CONSTRAINT enapo_porsenna_devices_pk PRIMARY KEY (source, id)
47
+ );
48
+
49
+ COMMENT ON COLUMN enapo_porsenna_devices.source IS 'Tenant identifier, e.g. porsenna_p7. Matches ProviderType enum.';
50
+ COMMENT ON COLUMN enapo_porsenna_devices.building_id IS 'Soft ref to enapo_porsenna_buildings (source, id); no FK.';
51
+ COMMENT ON COLUMN enapo_porsenna_devices.parent_device_id IS 'Soft self-ref to enapo_porsenna_devices (source, id); no FK. Used for sub-meter hierarchy.';
52
+ COMMENT ON COLUMN enapo_porsenna_devices."level" IS 'main / sub';
53
+ COMMENT ON COLUMN enapo_porsenna_devices."type" IS 'gasometer / electrometer / heatmeter / watermeter / ...';
54
+ COMMENT ON COLUMN enapo_porsenna_devices.disable_reason_id IS 'Numeric id parsed from the /disable_reasons/{n} IRI. The lookup endpoint is not accessible to us, so the human-readable name is not retrievable.';
55
+ COMMENT ON COLUMN enapo_porsenna_devices.identifier IS 'Primary identifier from Porsenna Identification. Can be an EAN (prefix 859182400, typically electricity_meter), an EIC code (prefix 27ZG100Z, typically gasometer), or a numerical OM identifier (heat_meter, water_meter).';
56
+
57
+ CREATE INDEX enapo_porsenna_devices_identifier_idx ON enapo_porsenna_devices (identifier);
58
+ CREATE INDEX enapo_porsenna_devices_building_idx ON enapo_porsenna_devices (source, building_id);
59
+
60
+
61
+ -- Yearly consumption aggregates per device per period.
62
+ -- 'var' is the period kind (yearly today; monthly/daily reserved for future use).
63
+ -- @type from the Hydra payload is always "Consumption" and is implicit in this table.
64
+ CREATE TABLE enapo_porsenna_consumption (
65
+ source varchar(50) NOT NULL,
66
+ device_id uuid NOT NULL,
67
+ "var" varchar(20) NOT NULL,
68
+ "period" varchar(20) NOT NULL,
69
+ value numeric(30, 15) NOT NULL,
70
+ unit varchar(20) NOT NULL,
71
+ commodity varchar(20) NULL,
72
+ "count" int4 NULL,
73
+ created_at timestamptz DEFAULT now() NULL,
74
+ updated_at timestamptz NULL,
75
+ CONSTRAINT enapo_porsenna_consumption_pk PRIMARY KEY (source, device_id, "var", "period")
76
+ );
77
+
78
+ COMMENT ON COLUMN enapo_porsenna_consumption.source IS 'Tenant identifier, e.g. porsenna_p7. Matches ProviderType enum.';
79
+ COMMENT ON COLUMN enapo_porsenna_consumption.device_id IS 'Soft ref to enapo_porsenna_devices (source, id); no FK.';
80
+ COMMENT ON COLUMN enapo_porsenna_consumption."var" IS 'Period kind: yearly | monthly | daily. Currently only yearly is ingested.';
81
+ COMMENT ON COLUMN enapo_porsenna_consumption."period" IS 'Period identifier as supplied by the API (e.g. "2023" for yearly aggregates).';
82
+ COMMENT ON COLUMN enapo_porsenna_consumption.commodity IS 'Denormalised from enapo_porsenna_devices.type for fast filtered reads.';
83
+ COMMENT ON COLUMN enapo_porsenna_consumption."count" IS 'Days covered by the period; useful for partial periods (e.g. current year).';
84
+
85
+ CREATE INDEX enapo_porsenna_consumption_period_idx ON enapo_porsenna_consumption ("period");
@@ -0,0 +1,15 @@
1
+ import { IConsumptionApiCollection } from "../../../../schema-definitions/datasources/enapo/porsenna/interfaces/IConsumptionApiEntry";
2
+ import { IGaugeApiCollection, IGaugeApiDto } from "../../../../schema-definitions/datasources/enapo/porsenna/interfaces/IGaugeApiDto";
3
+ import { PorsennaDataSourceProvider } from "./PorsennaDataSourceProvider";
4
+ export declare class PorsennaDataSource {
5
+ private dataSourceBuilder;
6
+ private static readonly DATASOURCE_NAME;
7
+ private BASE_ENDPOINT;
8
+ private gaugeValidator;
9
+ private consumptionValidator;
10
+ constructor(dataSourceBuilder: PorsennaDataSourceProvider);
11
+ getAllGaugesByPage(source: string, page: number): Promise<IGaugeApiCollection>;
12
+ getGaugeConsumption(source: string, id: string, from: string | number, to: string | number): Promise<IConsumptionApiCollection>;
13
+ generateAsyncPages(source: string): AsyncGenerator<IGaugeApiDto>;
14
+ private parseLastPage;
15
+ }
@@ -0,0 +1,67 @@
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 PorsennaDataSource_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.PorsennaDataSource = void 0;
17
+ const EnapoWorkerContainerToken_1 = require("../../ioc/EnapoWorkerContainerToken");
18
+ const PorsennaJsonSchema_1 = require("../../../../schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema");
19
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
+ const PorsennaDataSourceProvider_1 = require("./PorsennaDataSourceProvider");
23
+ let PorsennaDataSource = exports.PorsennaDataSource = PorsennaDataSource_1 = class PorsennaDataSource {
24
+ constructor(dataSourceBuilder) {
25
+ this.dataSourceBuilder = dataSourceBuilder;
26
+ this.BASE_ENDPOINT = "/gauges";
27
+ this.gaugeValidator = new golemio_validator_1.JSONSchemaValidator(PorsennaDataSource_1.DATASOURCE_NAME + "Gauges", PorsennaJsonSchema_1.porsennaGaugeCollectionJsonSchema);
28
+ this.consumptionValidator = new golemio_validator_1.JSONSchemaValidator(PorsennaDataSource_1.DATASOURCE_NAME + "Consumption", PorsennaJsonSchema_1.porsennaConsumptionCollectionJsonSchema);
29
+ }
30
+ async getAllGaugesByPage(source, page) {
31
+ const result = this.dataSourceBuilder.getDataSource(source, this.BASE_ENDPOINT, this.gaugeValidator, { page });
32
+ return (await result.getAll());
33
+ }
34
+ async getGaugeConsumption(source, id, from, to) {
35
+ const endpoint = `${this.BASE_ENDPOINT}/${id}/consumption/yearly`;
36
+ const result = this.dataSourceBuilder.getDataSource(source, endpoint, this.consumptionValidator, { from, to });
37
+ return (await result.getAll());
38
+ }
39
+ async *generateAsyncPages(source) {
40
+ const firstPage = await this.getAllGaugesByPage(source, 1);
41
+ const lastPage = this.parseLastPage(firstPage);
42
+ for (const member of firstPage.member ?? [])
43
+ yield member;
44
+ for (let index = 2; index <= lastPage; index++) {
45
+ const nextPage = await this.getAllGaugesByPage(source, index);
46
+ for (const member of nextPage.member ?? [])
47
+ yield member;
48
+ }
49
+ }
50
+ parseLastPage(page) {
51
+ const lastUrl = page.view?.last;
52
+ if (!lastUrl)
53
+ return 1;
54
+ const match = lastUrl.match(/page=(\d+)/);
55
+ if (!match) {
56
+ throw new golemio_errors_1.GeneralError(`Cannot parse last page from view.last: ${lastUrl}`, "PorsennaDataSource", undefined, 500);
57
+ }
58
+ return parseInt(match[1], 10);
59
+ }
60
+ };
61
+ PorsennaDataSource.DATASOURCE_NAME = "PorsennaDataSource";
62
+ exports.PorsennaDataSource = PorsennaDataSource = PorsennaDataSource_1 = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __param(0, (0, tsyringe_1.inject)(EnapoWorkerContainerToken_1.EnapoWorkerContainerToken.PorsennaDataSourceProvider)),
65
+ __metadata("design:paramtypes", [PorsennaDataSourceProvider_1.PorsennaDataSourceProvider])
66
+ ], PorsennaDataSource);
67
+ //# sourceMappingURL=PorsennaDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PorsennaDataSource.js","sourceRoot":"","sources":["../../../../../src/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mFAAoF;AACpF,qHAG4D;AAG5D,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AACxE,6EAA0E;AAGnE,IAAM,kBAAkB,uDAAxB,MAAM,kBAAkB;IAM3B,YACkE,iBAAqD;QAA7C,sBAAiB,GAAjB,iBAAiB,CAA4B;QAL/G,kBAAa,GAAG,SAAS,CAAC;QAO9B,IAAI,CAAC,cAAc,GAAG,IAAI,uCAAmB,CACzC,oBAAkB,CAAC,eAAe,GAAG,QAAQ,EAC7C,sDAAiC,CACpC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,uCAAmB,CAC/C,oBAAkB,CAAC,eAAe,GAAG,aAAa,EAClD,4DAAuC,CAC1C,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,IAAY;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAwB,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC5B,MAAc,EACd,EAAU,EACV,IAAqB,EACrB,EAAmB;QAEnB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,qBAAqB,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/G,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAA8B,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAc;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE/C,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,MAAM,CAAC;QAE1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE;gBAAE,MAAM,MAAM,CAAC;SAC5D;IACL,CAAC;IAEO,aAAa,CAAC,IAAyB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,6BAAY,CAAC,0CAA0C,OAAO,EAAE,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;SACrH;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;;AAvDuB,kCAAe,GAAG,oBAAoB,AAAvB,CAAwB;6BADtD,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,qDAAyB,CAAC,0BAA0B,CAAC,CAAA;qCAA4B,uDAA0B;GAP9G,kBAAkB,CAyD9B"}
@@ -0,0 +1,10 @@
1
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
2
+ import { DataSource } from "@golemio/core/dist/integration-engine";
3
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
4
+ export declare class PorsennaDataSourceProvider {
5
+ private simpleConfig;
6
+ private static readonly DATASOURCE_NAME;
7
+ constructor(simpleConfig: ISimpleConfig);
8
+ getDataSource(source: string, endpoint: string, schema: JSONSchemaValidator, params?: Record<string, string | number>): DataSource;
9
+ private getDistrictConfig;
10
+ }
@@ -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
+ }