@golemio/energetics 1.8.3-dev.2433808749 → 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
@@ -46,6 +46,8 @@ https://gitlab.com/operator-ict/golemio/projekty/energetika/p0262.prevzeti-energ
46
46
  - Jedná se o odběratele různých kategorií odběru („A“ „C“ „MO“), konkrétně: účet Hl. m. Praha = „C“; Hlavní m. Praha = „MO“ a HlavníměstoPraha64581_1 = „A“
47
47
  - Azure Blob Storage
48
48
  - Mapovací JSON pro měření přímo od poskytovatelů komodit
49
+ - Porsenna e-Manazer API
50
+ - Měřidla a roční spotřeby pro P7
49
51
 
50
52
  #### _OICT Energetika_
51
53
 
@@ -209,6 +211,21 @@ https://gitlab.com/operator-ict/golemio/projekty/energetika/p0262.prevzeti-energ
209
211
  - Geometrie:
210
212
  - `getGeometrie` - získání geometrie (polygonů) pro seznam GID budov/staveb
211
213
 
214
+ #### _Porsenna (e-Manazer) REST API_
215
+
216
+ - zdroj dat
217
+ - url: https://api.e-manazer.cz/gauges (module.energetics.enapo.porsenna.url)
218
+ - autentizace: Bearer token (module.energetics.enapo.porsenna.token)
219
+ - source identifikátor: `porsenna_p7`
220
+ - formát dat
221
+ - protokol: http (REST)
222
+ - datový typ: json (Hydra kolekce se stránkováním)
223
+ - validační schémata: [PorsennaJsonSchema](../src/schema-definitions/datasources/enapo/porsenna/PorsennaJsonSchema.ts)
224
+ - datasource
225
+ - [PorsennaDataSource](../src/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.ts)
226
+ - `generateAsyncPages()` - stránkované získání všech měřidel
227
+ - `getGaugeConsumption(id, from, to)` - roční spotřeba pro jedno měřidlo
228
+
212
229
  ## Zpracování dat / transformace
213
230
 
214
231
  Všechny tabulky se nachází ve schématu `energetics`
@@ -689,6 +706,28 @@ Task stahuje fakturační data distribuce od PPAS včetně informací o fakturá
689
706
  - [PpasDistributionInvoiceDeviceModel](../src/schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel.ts) tabulka `ppas_distribution_invoice_device` - zařízení a odečty
690
707
  - [PpasDistributionInvoicePriceModel](../src/schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel.ts) tabulka `ppas_distribution_invoice_price` - cenové položky
691
708
 
709
+ #### _task: PorsennaDistributionTask_
710
+
711
+ Task stahuje data o měřidlech a spotřebách z Porsenna API (e-Manazer).
712
+
713
+ - vstupní rabbitmq fronta
714
+ - název: dataplatform.enapoenergetics.fetchPorsennaDistribution
715
+ - TTL: 1 hodina
716
+ - parametry: `{ yearFrom, yearTo }`
717
+ - validační schéma: [EnapoPorsennaDistributionParamsSchema](../src/integration-engine/enapo/workers/schema/EnapoPorsennaDistributionParamsSchema.ts)
718
+ - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
719
+ - žádné
720
+ - datové zdroje
721
+ - Porsenna e-Manazer API
722
+ - [PorsennaDataSource](../src/integration-engine/enapo/datasources/porsenna/PorsennaDataSource.ts)
723
+ - transformace
724
+ - [PorsennaGaugeTransformation](../src/integration-engine/enapo/transformations/porsenna/PorsennaGaugeTransformation.ts) - transformace měřidel na budovy a zařízení
725
+ - [PorsennaConsumptionTransformation](../src/integration-engine/enapo/transformations/porsenna/PorsennaConsumptionTransformation.ts) - transformace spotřeb
726
+ - data modely
727
+ - [PorsennaBuildingsModel](../src/schema-definitions/models/porsenna/PorsennaBuildingsModel.ts) tabulka `enapo_porsenna_buildings`
728
+ - [PorsennaDevicesModel](../src/schema-definitions/models/porsenna/PorsennaDevicesModel.ts) tabulka `enapo_porsenna_devices`
729
+ - [PorsennaConsumptionModel](../src/schema-definitions/models/porsenna/PorsennaConsumptionModel.ts) tabulka `enapo_porsenna_consumption`
730
+
692
731
  ## Uložení dat
693
732
 
694
733
  - typ databáze
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.8.3-dev.2433808749",
3
+ "version": "1.8.3-dev.2500885099",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  "@commitlint/cli": "^11.0.0",
39
39
  "@commitlint/config-conventional": "^11.0.0",
40
40
  "@golemio/cli": "1.11.2",
41
- "@golemio/core": "3.0.6",
41
+ "@golemio/core": "^3.0.7",
42
42
  "@golemio/db-common": "1.2.2",
43
43
  "@golemio/eslint-config": "1.1.3",
44
44
  "@types/adm-zip": "^0.5.8",
@@ -75,13 +75,17 @@
75
75
  "typescript-transform-paths": "^3.4.6"
76
76
  },
77
77
  "peerDependencies": {
78
- "@golemio/core": "^3.0.2-dev.2249078403"
78
+ "@golemio/core": "^3.0.8"
79
79
  },
80
80
  "dependencies": {
81
81
  "adm-zip": "^0.5.16",
82
- "basic-ftp": "^5.2.0",
82
+ "basic-ftp": "^6.0.1",
83
83
  "JSONStream": "^1.3.5",
84
- "soap": "^1.8.0"
84
+ "soap": "^1.9.1"
85
85
  },
86
- "overrides": {}
86
+ "overrides": {
87
+ "soap": {
88
+ "@xmldom/xmldom": "0.9.10"
89
+ }
90
+ }
87
91
  }