@golemio/energetics 1.3.4-dev.1288710124 → 1.3.4

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 (43) hide show
  1. package/dist/integration-engine/commodity-providers/ioc/Di.js +0 -4
  2. package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
  3. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.d.ts +0 -2
  4. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js +0 -2
  5. package/dist/integration-engine/commodity-providers/ioc/WorkerContainerToken.js.map +1 -1
  6. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.d.ts +2 -3
  7. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js +0 -1
  8. package/dist/integration-engine/commodity-providers/workers/CommodityWorker.js.map +1 -1
  9. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js +0 -1
  10. package/dist/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.js.map +1 -1
  11. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.d.ts +1 -2
  12. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js +0 -1
  13. package/dist/schema-definitions/models/helpers/CommodityProviderTypeEnum.js.map +1 -1
  14. package/package.json +6 -15
  15. package/dist/input-gateway/index.d.ts +0 -1
  16. package/dist/input-gateway/index.js +0 -18
  17. package/dist/input-gateway/index.js.map +0 -1
  18. package/dist/input-gateway/ptas/PtasRouter.d.ts +0 -12
  19. package/dist/input-gateway/ptas/PtasRouter.js +0 -80
  20. package/dist/input-gateway/ptas/PtasRouter.js.map +0 -1
  21. package/dist/input-gateway/ptas/PtasWebScrapingController.d.ts +0 -10
  22. package/dist/input-gateway/ptas/PtasWebScrapingController.js +0 -41
  23. package/dist/input-gateway/ptas/PtasWebScrapingController.js.map +0 -1
  24. package/dist/input-gateway/ptas/index.d.ts +0 -2
  25. package/dist/input-gateway/ptas/index.js +0 -19
  26. package/dist/input-gateway/ptas/index.js.map +0 -1
  27. package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.d.ts +0 -17
  28. package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js +0 -40
  29. package/dist/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.js.map +0 -1
  30. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.d.ts +0 -20
  31. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js +0 -85
  32. package/dist/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.js.map +0 -1
  33. package/dist/schema-definitions/datasources/PtasWebScrapingJsonSchema.d.ts +0 -3
  34. package/dist/schema-definitions/datasources/PtasWebScrapingJsonSchema.js +0 -41
  35. package/dist/schema-definitions/datasources/PtasWebScrapingJsonSchema.js.map +0 -1
  36. package/dist/schema-definitions/datasources/interfaces/PtasWebScrapingInput.d.ts +0 -16
  37. package/dist/schema-definitions/datasources/interfaces/PtasWebScrapingInput.js +0 -3
  38. package/dist/schema-definitions/datasources/interfaces/PtasWebScrapingInput.js.map +0 -1
  39. package/docs/assets/commodity_erd.jpg +0 -0
  40. package/docs/assets/consumption_energy_erd.png +0 -0
  41. package/docs/assets/vpalac_erd.png +0 -0
  42. package/docs/implementation_documentation.md +0 -402
  43. package/docs/openapi-input.yaml +0 -97
@@ -19,8 +19,6 @@ const FetchPreMeasurementDataTask_1 = require("../workers/tasks/FetchPreMeasurem
19
19
  const WorkerContainerToken_1 = require("./WorkerContainerToken");
20
20
  const PreElectroApiDataSourceProvider_1 = require("../datasources/pre-elektro-api/PreElectroApiDataSourceProvider");
21
21
  const PreElectroHelper_1 = require("../datasources/pre-elektro-api/helpers/PreElectroHelper");
22
- const PtasWebMeasurementTransformation_1 = require("../transformations/PtasWebMeasurementTransformation");
23
- const FetchPtasWebScrapedMeasurementsTask_1 = require("../workers/tasks/FetchPtasWebScrapedMeasurementsTask");
24
22
  //#region Initialization
25
23
  const CommodityContainer = Di_1.VPalaceContainer.createChildContainer();
26
24
  exports.CommodityContainer = CommodityContainer;
@@ -40,7 +38,6 @@ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.StaticMe
40
38
  CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.CemMeasurementTransformation, CemMeasurementTransformation_1.CemMeasurementTransformation);
41
39
  CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.AveMeasurementTransformation, AveMeasurementTransformation_1.AveMeasurementTransformation);
42
40
  CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.PreElectroTransformation, PreElectroTransformation_1.PreElectroTransformation);
43
- CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.PtasWebMeasurementTransformation, PtasWebMeasurementTransformation_1.PtasWebMeasurementTransformation);
44
41
  //#endregion
45
42
  //#region Factory
46
43
  //#endregion
@@ -50,7 +47,6 @@ CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchVeo
50
47
  CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchPpasMeasurementsTask, FetchPpasMeasurementsTask_1.FetchPpasMeasurementsTask);
51
48
  CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchMeasurementOptionsStaticDataTask, FetchMeasurementOptionsStaticDataTask_1.FetchMeasurementOptionsStaticDataTask);
52
49
  CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.FetchPreMeasurementDataTask, FetchPreMeasurementDataTask_1.FetchPreMeasurementDataTask);
53
- CommodityContainer.registerSingleton(WorkerContainerToken_1.WorkerContainerToken.FetchPtasWebScrapedMeasurementsTask, FetchPtasWebScrapedMeasurementsTask_1.FetchPtasWebScrapedMeasurementsTask);
54
50
  //#endregion
55
51
  //#region Helpers
56
52
  CommodityContainer.register(WorkerContainerToken_1.WorkerContainerToken.PreElectroHelper, PreElectroHelper_1.PreElectroHelper);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAE9C,2GAAwG;AACxG,iGAA8F;AAC9F,kGAA+F;AAC/F,0FAAuF;AACvF,4GAAyG;AACzG,0FAAuF;AACvF,8FAA2F;AAC3F,iEAA8D;AAC9D,oHAAiH;AACjH,8FAA2F;AAC3F,0GAAuG;AACvG,8GAA2G;AAE3G,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,qBAAgB,CAAC,oBAAoB,EAAE,CAAC;AAyC/E,gDAAkB;AAxC3B,YAAY;AAEZ,oBAAoB;AACpB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACrG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AAC7G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,+BAA+B,EAAE,iEAA+B,CAAC,CAAC;AACnH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,wBAAwB;AACxB,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC9G,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC9H,YAAY;AAEZ,iBAAiB;AACjB,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACvG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,kBAAkB,CAAC,iBAAiB,CAChC,2CAAoB,CAAC,mCAAmC,EACxD,yEAAmC,CACtC,CAAC;AACF,YAAY;AAEZ,iBAAiB;AACjB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAE9C,2GAAwG;AACxG,iGAA8F;AAC9F,kGAA+F;AAC/F,0FAAuF;AACvF,4GAAyG;AACzG,0FAAuF;AACvF,8FAA2F;AAC3F,iEAA8D;AAC9D,oHAAiH;AACjH,8FAA2F;AAE3F,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,qBAAgB,CAAC,oBAAoB,EAAE,CAAC;AAoC/E,gDAAkB;AAnC3B,YAAY;AAEZ,oBAAoB;AACpB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACrG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AAC7G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,+BAA+B,EAAE,iEAA+B,CAAC,CAAC;AACnH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,wBAAwB;AACxB,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,4BAA4B,EAAE,2DAA4B,CAAC,CAAC;AACtH,kBAAkB,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC9G,YAAY;AAEZ,iBAAiB;AACjB,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACvG,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AAC/H,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC3G,YAAY;AAEZ,iBAAiB;AACjB,kBAAkB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
@@ -15,7 +15,5 @@ declare const WorkerContainerToken: {
15
15
  PreElectroTransformation: symbol;
16
16
  PreElectroApiDataSourceProvider: symbol;
17
17
  PreElectroHelper: symbol;
18
- PtasWebMeasurementTransformation: symbol;
19
- FetchPtasWebScrapedMeasurementsTask: symbol;
20
18
  };
21
19
  export { WorkerContainerToken };
@@ -18,8 +18,6 @@ const WorkerContainerToken = {
18
18
  PreElectroTransformation: Symbol(),
19
19
  PreElectroApiDataSourceProvider: Symbol(),
20
20
  PreElectroHelper: Symbol(),
21
- PtasWebMeasurementTransformation: Symbol(),
22
- FetchPtasWebScrapedMeasurementsTask: Symbol(),
23
21
  };
24
22
  exports.WorkerContainerToken = WorkerContainerToken;
25
23
  //# sourceMappingURL=WorkerContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,4BAA4B,EAAE,MAAM,EAAE;IACtC,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,2BAA2B,EAAE,MAAM,EAAE;IACrC,yBAAyB,EAAE,MAAM,EAAE;IACnC,qCAAqC,EAAE,MAAM,EAAE;IAC/C,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,+BAA+B,EAAE,MAAM,EAAE;IACzC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;CAChD,CAAC;AAEO,oDAAoB"}
1
+ {"version":3,"file":"WorkerContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/WorkerContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,wBAAwB,EAAE,MAAM,EAAE;IAClC,4BAA4B,EAAE,MAAM,EAAE;IACtC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,4BAA4B,EAAE,MAAM,EAAE;IACtC,4BAA4B,EAAE,MAAM,EAAE;IACtC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,2BAA2B,EAAE,MAAM,EAAE;IACrC,yBAAyB,EAAE,MAAM,EAAE;IACnC,qCAAqC,EAAE,MAAM,EAAE;IAC/C,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,+BAA+B,EAAE,MAAM,EAAE;IACzC,gBAAgB,EAAE,MAAM,EAAE;CAC7B,CAAC;AAEO,oDAAoB"}
@@ -1,7 +1,6 @@
1
- import { AbstractWorker } from "@golemio/core/dist/integration-engine";
2
- import { ITask } from "@golemio/core/dist/integration-engine/workers/interfaces/ITask";
1
+ import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine";
3
2
  export declare class CommodityWorker extends AbstractWorker {
4
3
  protected name: string;
5
4
  constructor();
6
- registerTask: (task: ITask) => void;
5
+ registerTask: (task: AbstractTask<any>) => void;
7
6
  }
@@ -19,7 +19,6 @@ class CommodityWorker extends integration_engine_1.AbstractWorker {
19
19
  this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchVeoliaMeasurementsTask));
20
20
  this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchPpasMeasurementsTask));
21
21
  this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchPreMeasurementDataTask));
22
- this.registerTask(Di_1.CommodityContainer.resolve(WorkerContainerToken_1.WorkerContainerToken.FetchPtasWebScrapedMeasurementsTask));
23
22
  }
24
23
  }
25
24
  exports.CommodityWorker = CommodityWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"CommodityWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/workers/CommodityWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AAEvE,4CAA2C;AAC3C,kCAA+C;AAC/C,sEAAmE;AAEnE,MAAa,eAAgB,SAAQ,mCAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAmBtB,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAjBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAE9G,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAEjH,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACnH,CAAC;CAMJ;AAxBD,0CAwBC"}
1
+ {"version":3,"file":"CommodityWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/workers/CommodityWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AACrF,4CAA2C;AAC3C,kCAA+C;AAC/C,sEAAmE;AAOnE,MAAa,eAAgB,SAAQ,mCAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QA6BtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QA3BE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,kCAAkC,CAC1D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,2CAAoB,CAAC,qCAAqC,CAC7D,CACJ,CAAC;QAEF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA8B,2CAAoB,CAAC,2BAA2B,CAAC,CAC5G,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAA4B,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAEzH,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA8B,2CAAoB,CAAC,2BAA2B,CAAC,CAC5G,CAAC;IACN,CAAC;CAMJ;AAlCD,0CAkCC"}
@@ -38,7 +38,6 @@ const optionLookupKeys = {
38
38
  [CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveV]: "AveVOptions",
39
39
  [CommodityProviderTypeEnum_1.CommodityProviderType.PpasAveM]: "AveMOptions",
40
40
  [CommodityProviderTypeEnum_1.CommodityProviderType.PreOptions]: "PreOptions",
41
- [CommodityProviderTypeEnum_1.CommodityProviderType.PtasOptions]: "PtasOptions",
42
41
  };
43
42
  let FetchMeasurementOptionsStaticDataTask = exports.FetchMeasurementOptionsStaticDataTask = class FetchMeasurementOptionsStaticDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
44
43
  constructor(logger, staticDataSourceProvider, meterSettingsRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAChE,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,UAAU,CAAC,EAAE,YAAY;IAChD,CAAC,iDAAqB,CAAC,WAAW,CAAC,EAAE,aAAa;CACrD,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
1
+ {"version":3,"file":"FetchMeasurementOptionsStaticDataTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchMeasurementOptionsStaticDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,+HAA8I;AAC9I,yEAAwF;AACxF,oGAAmH;AAEnH,uHAAsF;AACtF,yHAAwF;AACxF,wEAAqE;AAErE,uGAAoG;AACpG,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,gBAAgB,GAAG;IACrB,CAAC,iDAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IAC5D,CAAC,iDAAqB,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAChE,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,QAAQ,CAAC,EAAE,aAAa;IAC/C,CAAC,iDAAqB,CAAC,UAAU,CAAC,EAAE,YAAY;CACnD,CAAC;AAGK,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,qCAAiB;IAIxE,YAC8B,MAAuB,EAEjD,wBAAuE,EAEvE,uBAA8D;QAE9D,KAAK,CAAC,uBAAW,CAAC,CAAC;QANe,WAAM,GAAN,MAAM,CAAS;QAEzC,6BAAwB,GAAxB,wBAAwB,CAAuC;QAE/D,4BAAuB,GAAvB,uBAAuB,CAA+B;QARlD,cAAS,GAAG,mCAAmC,CAAC;QAChD,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAUnD,CAAC;IAEe,OAAO;;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEhD,KAAK,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,GAAiC,CAAC,CAAC;gBACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,SAAS;iBACZ;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,4BAA4B,iBAAiB,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CACvC,iBAA0C,EAC1C,mDAAsB,CAAC,kBAAkB,EACzC,OAAO,CACV,CAAC;aACL;QACL,CAAC;KAAA;IAEO,8BAA8B,CAClC,aAAmC,EACnC,GAA+B;QAE/B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAA,EAAE;YAC/B,MAAM,IAAI,6BAAY,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC;IACxC,CAAC;CACJ,CAAA;gDA3CY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;6CADzB,6EAAqC;QAEtC,6DAA6B;GATzD,qCAAqC,CA2CjD"}
@@ -3,6 +3,5 @@ export declare enum CommodityProviderType {
3
3
  CemApiVeoliaElectro = "cem_api_veolia_electro",
4
4
  PpasAveV = "ppas_ave_api_v",
5
5
  PpasAveM = "ppas_ave_api_m",
6
- PreOptions = "pre_electro_ftp",
7
- PtasOptions = "ptas_hot_water"
6
+ PreOptions = "pre_electro_ftp"
8
7
  }
@@ -8,6 +8,5 @@ var CommodityProviderType;
8
8
  CommodityProviderType["PpasAveV"] = "ppas_ave_api_v";
9
9
  CommodityProviderType["PpasAveM"] = "ppas_ave_api_m";
10
10
  CommodityProviderType["PreOptions"] = "pre_electro_ftp";
11
- CommodityProviderType["PtasOptions"] = "ptas_hot_water";
12
11
  })(CommodityProviderType || (exports.CommodityProviderType = CommodityProviderType = {}));
13
12
  //# sourceMappingURL=CommodityProviderTypeEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;IAC9C,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;IAC3B,uDAA8B,CAAA;IAC9B,uDAA8B,CAAA;AAClC,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
1
+ {"version":3,"file":"CommodityProviderTypeEnum.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/helpers/CommodityProviderTypeEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC7B,mEAA0C,CAAA;IAC1C,uEAA8C,CAAA;IAC9C,oDAA2B,CAAA;IAC3B,oDAA2B,CAAA;IAC3B,uDAA8B,CAAA;AAClC,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/energetics",
3
- "version": "1.3.4-dev.1288710124",
3
+ "version": "1.3.4",
4
4
  "description": "Golemio Energetics Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,8 +11,6 @@
11
11
  "pretest": "golemio import-db-data",
12
12
  "test": "cross-env NODE_ENV=test mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r tsconfig-paths/register -r dotenv/config --file 'test/setup.ts' 'test/**/*.test.ts'",
13
13
  "test-debug": "run-s 'test -- --inspect-brk=9230'",
14
- "apidocs-test": "npm run apidocs-test-input",
15
- "apidocs-test-input": "cross-env NODE_ENV=test golemio swagger api-test --oas docs/openapi-input.yaml --script test/api-docs/input-gateway/server.js",
16
14
  "code-coverage": "nyc run-s 'test -- -r source-map-support/register'",
17
15
  "generate-docs": "typedoc --out docs/typedoc src",
18
16
  "lint": "eslint \"{src,test}/**/*.ts\""
@@ -31,22 +29,17 @@
31
29
  "npm": ">=8.0.0"
32
30
  },
33
31
  "devDependencies": {
34
- "@apideck/portman": "^1.26.5",
35
32
  "@commitlint/cli": "^11.0.0",
36
33
  "@commitlint/config-conventional": "^11.0.0",
37
- "@golemio/cli": "1.5.1-dev.1280122973",
38
- "@golemio/core": "1.9.19-dev.1280144061",
39
- "@golemio/db-common": "1.1.4-dev.1280184386",
40
- "@golemio/eslint-config": "1.1.2-dev.1280097835",
34
+ "@golemio/cli": "1.5.0",
35
+ "@golemio/core": "1.10.0",
36
+ "@golemio/db-common": "1.1.4",
37
+ "@golemio/eslint-config": "1.1.2",
41
38
  "@types/chai": "4.2.3",
42
39
  "@types/chai-as-promised": "7.1.2",
43
40
  "@types/mocha": "^8.2.0",
44
- "@types/node": "^18.13.0",
45
- "@types/papaparse": "^5.3.14",
41
+ "@types/node": "^20.12.7",
46
42
  "@types/sinon": "^9.0.10",
47
- "@types/supertest": "^6.0.2",
48
- "body-parser": "^1.20.2",
49
- "body-parser-csv": "^1.1.0",
50
43
  "chai": "4.2.0",
51
44
  "chai-as-promised": "7.1.1",
52
45
  "cross-env": "^7.0.3",
@@ -55,13 +48,11 @@
55
48
  "mocha": "^9.1.2",
56
49
  "npm-run-all": "^4.1.5",
57
50
  "nyc": "^15.1.0",
58
- "papaparse": "^5.4.1",
59
51
  "prettier": "^2.5.1",
60
52
  "pretty-quick": "^3.1.0",
61
53
  "rimraf": "^3.0.2",
62
54
  "sinon": "^9.2.3",
63
55
  "source-map-support": "0.5.21",
64
- "supertest": "^7.0.0",
65
56
  "ts-node": "^10.9.1",
66
57
  "ts-patch": "3.0.0-beta3",
67
58
  "tsconfig-paths": "^4.2.0",
@@ -1 +0,0 @@
1
- export * from "./ptas";
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ptas"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/input-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
@@ -1,12 +0,0 @@
1
- /// <reference types="express" />
2
- import { Router } from "@golemio/core/dist/shared/express";
3
- export declare class PtasRouter {
4
- router: Router;
5
- private controller;
6
- constructor();
7
- private initRoutes;
8
- private post;
9
- private parseCSV;
10
- }
11
- declare const ptasRouter: Router;
12
- export { ptasRouter };
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.ptasRouter = exports.PtasRouter = void 0;
36
- const PtasWebScrapingController_1 = require("./PtasWebScrapingController");
37
- const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
38
- const express_1 = require("@golemio/core/dist/shared/express");
39
- const csv = __importStar(require("@fast-csv/parse"));
40
- class PtasRouter {
41
- constructor() {
42
- this.initRoutes = () => {
43
- this.router.post("/:idOdbernehoMista", (0, helpers_1.checkContentTypeMiddleware)(["text/plain"]), this.post);
44
- };
45
- this.post = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
46
- try {
47
- const parsedCsv = (yield this.parseCSV(req.body));
48
- yield this.controller.processData({
49
- idOdbernehoMista: req.params.idOdbernehoMista,
50
- measurements: parsedCsv,
51
- });
52
- res.sendStatus(204);
53
- }
54
- catch (err) {
55
- next(err);
56
- }
57
- });
58
- this.parseCSV = (data) => {
59
- return new Promise((resolve, reject) => {
60
- const parsedCsvData = [];
61
- const stream = csv
62
- .parse({ headers: true, delimiter: ";" })
63
- .on("data", (data) => {
64
- parsedCsvData.push(data);
65
- })
66
- .on("end", () => resolve(parsedCsvData))
67
- .on("error", (error) => reject(error));
68
- stream.write(data);
69
- stream.end();
70
- });
71
- };
72
- this.router = (0, express_1.Router)();
73
- this.controller = new PtasWebScrapingController_1.PtasWebScrapingController();
74
- this.initRoutes();
75
- }
76
- }
77
- exports.PtasRouter = PtasRouter;
78
- const ptasRouter = new PtasRouter().router;
79
- exports.ptasRouter = ptasRouter;
80
- //# sourceMappingURL=PtasRouter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PtasRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/ptas/PtasRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA+E;AAE/E,sEAAsF;AACtF,+DAA4F;AAC5F,qDAAuC;AACvC,MAAa,UAAU;IAInB;QAMQ,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAA,oCAA0B,EAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClG,CAAC,CAAC;QAEM,SAAI,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YACpF,IAAI;gBACA,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAuB,CAAC;gBAExE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB;oBAC7C,YAAY,EAAE,SAAS;iBAC1B,CAAC,CAAC;gBAEH,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEM,aAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,aAAa,GAAuB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,GAAG;qBACb,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;qBACxC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC;qBACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;qBACvC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAtCE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,qDAAyB,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAoCJ;AA5CD,gCA4CC;AAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAElC,gCAAU"}
@@ -1,10 +0,0 @@
1
- import { IPtasWebScrapingInput } from "../../schema-definitions/datasources/interfaces/PtasWebScrapingInput";
2
- import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
3
- import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
4
- export declare class PtasWebScrapingController extends BaseController {
5
- name: string;
6
- protected validator: JSONSchemaValidator;
7
- protected queuePrefix: string;
8
- constructor();
9
- processData: (inputData: IPtasWebScrapingInput) => Promise<void>;
10
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PtasWebScrapingController = void 0;
13
- const constants_1 = require("../../integration-engine/commodity-providers/constants");
14
- const PtasWebScrapingJsonSchema_1 = require("../../schema-definitions/datasources/PtasWebScrapingJsonSchema");
15
- const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
16
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
- class PtasWebScrapingController extends controllers_1.BaseController {
19
- constructor() {
20
- super(constants_1.WORKER_NAME, new golemio_validator_1.JSONSchemaValidator("PtasWebScrapingController", PtasWebScrapingJsonSchema_1.ptasWebScrapingJsonSchema));
21
- this.processData = (inputData) => __awaiter(this, void 0, void 0, function* () {
22
- try {
23
- yield this.validator.Validate(inputData);
24
- const queue = "input." + this.queuePrefix + ".savePtasMeasurements";
25
- yield this.sendMessageToExchange(queue, JSON.stringify(inputData), {
26
- persistent: true,
27
- });
28
- }
29
- catch (err) {
30
- if (err instanceof golemio_errors_1.AbstractGolemioError) {
31
- throw err;
32
- }
33
- else {
34
- throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422);
35
- }
36
- }
37
- });
38
- }
39
- }
40
- exports.PtasWebScrapingController = PtasWebScrapingController;
41
- //# sourceMappingURL=PtasWebScrapingController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PtasWebScrapingController.js","sourceRoot":"","sources":["../../../src/input-gateway/ptas/PtasWebScrapingController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sFAAgE;AAChE,8GAAuF;AAEvF,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,yBAA0B,SAAQ,4BAAc;IAKzD;QACI,KAAK,CAAC,uBAAW,EAAE,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,qDAAyB,CAAC,CAAC,CAAC;QAGxG,gBAAW,GAAG,CAAO,SAAgC,EAAiB,EAAE;YACpE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;gBAEpE,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBAC/D,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAA,CAAC;IAjBF,CAAC;CAkBJ;AAzBD,8DAyBC"}
@@ -1,2 +0,0 @@
1
- export * from "./PtasRouter";
2
- export * from "./PtasWebScrapingController";
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./PtasRouter"), exports);
18
- __exportStar(require("./PtasWebScrapingController"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/ptas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8DAA4C"}
@@ -1,17 +0,0 @@
1
- import { IMeasurementOption } from "../../../schema-definitions/datasources/interfaces/IStaticMeterSettings";
2
- import { IPtasMeasurement } from "../../../schema-definitions/datasources/interfaces/PtasWebScrapingInput";
3
- import { IMeasurementDto } from "../../../schema-definitions/models/interfaces/IMeasurementDto";
4
- import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
5
- export declare class PtasWebMeasurementTransformation extends AbstractTransformation<{
6
- option: IMeasurementOption;
7
- } & {
8
- measurement: IPtasMeasurement;
9
- }, IMeasurementDto> {
10
- name: string;
11
- private dateFormatSetting;
12
- protected transformInternal: (data: {
13
- option: IMeasurementOption;
14
- } & {
15
- measurement: IPtasMeasurement;
16
- }) => IMeasurementDto;
17
- }
@@ -1,40 +0,0 @@
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.PtasWebMeasurementTransformation = void 0;
10
- const CommodityProviderTypeEnum_1 = require("../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
11
- const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
12
- const luxon_1 = require("@golemio/core/dist/shared/luxon");
13
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
14
- let PtasWebMeasurementTransformation = exports.PtasWebMeasurementTransformation = class PtasWebMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
15
- constructor() {
16
- super(...arguments);
17
- this.name = "PtasWebMeasurementTransformation";
18
- this.dateFormatSetting = "d.M.yyyy H:mm";
19
- this.transformInternal = (data) => {
20
- return {
21
- addr: data.option.Addr,
22
- source: CommodityProviderTypeEnum_1.CommodityProviderType.PtasOptions,
23
- meter: data.option.Meter,
24
- timestamp: luxon_1.DateTime.fromFormat(`${data.measurement["Datum odečtu"]} ${data.measurement["Čas odečtu"]}`, this.dateFormatSetting, {
25
- zone: "Europe/Prague",
26
- })
27
- .toUTC()
28
- .toJSDate(),
29
- variable: data.option.Var,
30
- type: data.option.Type,
31
- value: parseFloat(data.measurement["Odečet"].replaceAll(" ", "").replace(",", ".")),
32
- measurement_category: data.option.Name,
33
- };
34
- };
35
- }
36
- };
37
- exports.PtasWebMeasurementTransformation = PtasWebMeasurementTransformation = __decorate([
38
- (0, tsyringe_1.injectable)()
39
- ], PtasWebMeasurementTransformation);
40
- //# sourceMappingURL=PtasWebMeasurementTransformation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PtasWebMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,oHAAsF;AAEtF,6GAA0G;AAC1G,2DAA2D;AAC3D,iEAAgE;AAGzD,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,+CAGrD;IAHM;;QAII,SAAI,GAAG,kCAAkC,CAAC;QACzC,sBAAiB,GAAG,eAAe,CAAC;QAElC,sBAAiB,GAAG,CAAC,IAAwE,EAAmB,EAAE;YACxH,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,MAAM,EAAE,iDAAqB,CAAC,WAAW;gBACzC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,SAAS,EAAE,gBAAQ,CAAC,UAAU,CAC1B,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EACvE,IAAI,CAAC,iBAAiB,EACtB;oBACI,IAAI,EAAE,eAAe;iBACxB,CACJ;qBACI,KAAK,EAAE;qBACP,QAAQ,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnF,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;aACzC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;2CA3BY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;GACA,gCAAgC,CA2B5C"}
@@ -1,20 +0,0 @@
1
- import { PreElectroHelper } from "../../datasources/pre-elektro-api/helpers/PreElectroHelper";
2
- import { MeasurementRepository } from "../../repositories/MeasurementRepository";
3
- import { StaticMeterSettingsRepository } from "../../repositories/StaticMeterSettingsRepository";
4
- import { PtasWebMeasurementTransformation } from "../../transformations/PtasWebMeasurementTransformation";
5
- import { IPtasWebScrapingInput } from "../../../../schema-definitions/datasources/interfaces/PtasWebScrapingInput";
6
- import { AbstractTaskJsonSchema } from "@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema";
7
- import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
8
- import { ILogger } from "@golemio/core/dist/helpers/logger";
9
- export declare class FetchPtasWebScrapedMeasurementsTask extends AbstractTaskJsonSchema<IPtasWebScrapingInput> {
10
- private logger;
11
- private meterSettingsRepository;
12
- protected measurementRepository: MeasurementRepository;
13
- protected transformation: PtasWebMeasurementTransformation;
14
- protected helper: PreElectroHelper;
15
- protected schema: JSONSchemaValidator;
16
- readonly queueName = "savePtasMeasurements";
17
- readonly queueTtl: number;
18
- constructor(logger: ILogger, meterSettingsRepository: StaticMeterSettingsRepository, measurementRepository: MeasurementRepository, transformation: PtasWebMeasurementTransformation, helper: PreElectroHelper);
19
- protected execute(data: IPtasWebScrapingInput): Promise<void>;
20
- }
@@ -1,85 +0,0 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.FetchPtasWebScrapedMeasurementsTask = void 0;
25
- const constants_1 = require("../../constants");
26
- const PreElectroHelper_1 = require("../../datasources/pre-elektro-api/helpers/PreElectroHelper");
27
- const WorkerContainerToken_1 = require("../../ioc/WorkerContainerToken");
28
- const MeasurementRepository_1 = require("../../repositories/MeasurementRepository");
29
- const StaticMeterSettingsRepository_1 = require("../../repositories/StaticMeterSettingsRepository");
30
- const PtasWebMeasurementTransformation_1 = require("../../transformations/PtasWebMeasurementTransformation");
31
- const PtasWebScrapingJsonSchema_1 = require("../../../../schema-definitions/datasources/PtasWebScrapingJsonSchema");
32
- const CommodityProviderTypeEnum_1 = require("../../../../schema-definitions/models/helpers/CommodityProviderTypeEnum");
33
- const StaticDataResourceTypeEnum_1 = require("../../../../schema-definitions/models/helpers/StaticDataResourceTypeEnum");
34
- const AbstractTaskJsonSchema_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema");
35
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
36
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
37
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
38
- const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
39
- let FetchPtasWebScrapedMeasurementsTask = exports.FetchPtasWebScrapedMeasurementsTask = class FetchPtasWebScrapedMeasurementsTask extends AbstractTaskJsonSchema_1.AbstractTaskJsonSchema {
40
- constructor(logger, meterSettingsRepository, measurementRepository, transformation, helper) {
41
- super(constants_1.WORKER_NAME);
42
- this.logger = logger;
43
- this.meterSettingsRepository = meterSettingsRepository;
44
- this.measurementRepository = measurementRepository;
45
- this.transformation = transformation;
46
- this.helper = helper;
47
- this.schema = new golemio_validator_1.JSONSchemaValidator("FetchPtasWebScrapedMeasurementsTask", PtasWebScrapingJsonSchema_1.ptasWebScrapingJsonSchema);
48
- this.queueName = "savePtasMeasurements";
49
- this.queueTtl = 60 * 60 * 1000;
50
- }
51
- execute(data) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const measurementOptions = yield this.meterSettingsRepository.getData(CommodityProviderTypeEnum_1.CommodityProviderType.PtasOptions, StaticDataResourceTypeEnum_1.StaticDataResourceType.MeasurementOptions);
54
- if (!measurementOptions) {
55
- throw new golemio_errors_1.GeneralError("Measurement options not found", this.constructor.name);
56
- }
57
- const batch = [];
58
- //podle původního scraperu z C# bereme pouze teplo horké vody
59
- const hotWaterMeasurements = data.measurements.filter((item) => item["Druh registru"] === "Teplo horké vody");
60
- for (const measurement of hotWaterMeasurements) {
61
- const option = measurementOptions.find((item) => item.Meter === data["idOdbernehoMista"]);
62
- if (!option) {
63
- this.logger.warn(`Incoming Meter id ${data["idOdbernehoMista"]} is missing in the static data file (measurement options).`);
64
- continue;
65
- }
66
- const consumptionData = this.transformation.transformElement({ option, measurement });
67
- batch.push(consumptionData);
68
- }
69
- yield this.measurementRepository.bulkSave(batch);
70
- });
71
- }
72
- };
73
- exports.FetchPtasWebScrapedMeasurementsTask = FetchPtasWebScrapedMeasurementsTask = __decorate([
74
- (0, tsyringe_1.injectable)(),
75
- __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
76
- __param(1, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.StaticMeterSettingsRepository)),
77
- __param(2, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.MeasurementRepository)),
78
- __param(3, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PtasWebMeasurementTransformation)),
79
- __param(4, (0, tsyringe_1.inject)(WorkerContainerToken_1.WorkerContainerToken.PreElectroHelper)),
80
- __metadata("design:paramtypes", [Object, StaticMeterSettingsRepository_1.StaticMeterSettingsRepository,
81
- MeasurementRepository_1.MeasurementRepository,
82
- PtasWebMeasurementTransformation_1.PtasWebMeasurementTransformation,
83
- PreElectroHelper_1.PreElectroHelper])
84
- ], FetchPtasWebScrapedMeasurementsTask);
85
- //# sourceMappingURL=FetchPtasWebScrapedMeasurementsTask.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FetchPtasWebScrapedMeasurementsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/commodity-providers/workers/tasks/FetchPtasWebScrapedMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,iGAAgH;AAChH,yEAAwF;AACxF,oFAAmG;AACnG,oGAAmH;AACnH,6GAA4H;AAC5H,oHAAuF;AAGvF,uHAAsF;AACtF,yHAAwF;AACxF,iHAA8G;AAC9G,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AAExE,wEAAqE;AAE9D,IAAM,mCAAmC,iDAAzC,MAAM,mCAAoC,SAAQ,+CAA6C;IAKlG,YAC8B,MAAuB,EAEjD,uBAA8D,EACV,qBAAsD,EAC3C,cAA0D,EAEzH,MAAkC;QAElC,KAAK,CAAC,uBAAW,CAAC,CAAC;QARe,WAAM,GAAN,MAAM,CAAS;QAEzC,4BAAuB,GAAvB,uBAAuB,CAA+B;QACA,0BAAqB,GAArB,qBAAqB,CAAuB;QACjC,mBAAc,GAAd,cAAc,CAAkC;QAE/G,WAAM,GAAN,MAAM,CAAkB;QAX5B,WAAM,GAAG,IAAI,uCAAmB,CAAC,qCAAqC,EAAE,qDAAyB,CAAC,CAAC;QAC7F,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAY1C,CAAC;IAEe,OAAO,CAAC,IAA2B;;YAC/C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CACjE,iDAAqB,CAAC,WAAW,EACjC,mDAAsB,CAAC,kBAAkB,CAC5C,CAAC;YAEF,IAAI,CAAC,kBAAkB,EAAE;gBACrB,MAAM,IAAI,6BAAY,CAAC,+BAA+B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAClF;YAED,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,6DAA6D;YAC7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,kBAAkB,CAAC,CAAC;YAE9G,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE;gBAC5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAE9G,IAAI,CAAC,MAAM,EAAE;oBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,qBAAqB,IAAI,CAAC,kBAAkB,CAAC,4DAA4D,CAC5G,CAAC;oBACF,SAAS;iBACZ;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAEtF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC/B;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;CACJ,CAAA;8CAjDY,mCAAmC;IAD/C,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,gCAAgC,CAAC,CAAA;IAC7D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,gBAAgB,CAAC,CAAA;6CAHb,6DAA6B;QACuB,6CAAqB;QACjB,mEAAgC;QAEvG,mCAAgB;GAZ7B,mCAAmC,CAiD/C"}
@@ -1,3 +0,0 @@
1
- import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
- import { IPtasWebScrapingInput } from "./interfaces/PtasWebScrapingInput";
3
- export declare const ptasWebScrapingJsonSchema: JSONSchemaType<IPtasWebScrapingInput>;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ptasWebScrapingJsonSchema = void 0;
4
- exports.ptasWebScrapingJsonSchema = {
5
- type: "object",
6
- properties: {
7
- idOdbernehoMista: { type: "string" },
8
- measurements: {
9
- type: "array",
10
- items: {
11
- type: "object",
12
- properties: {
13
- "Datum odečtu": { type: "string", pattern: "^\\d{1,2}.\\d{1,2}.\\d{4}$" },
14
- "Čas odečtu": { type: "string" },
15
- "Výrobní číslo": { type: "string" },
16
- "Druh registru": { type: "string" },
17
- Odečet: { type: "string" },
18
- "MJ odečtu": { type: "string" },
19
- "MJ zúčt.": { type: "string" },
20
- "OM závislé": { type: "string" },
21
- "Typ odečtu": { type: "string" },
22
- "Status odečtu": { type: "string" },
23
- },
24
- required: [
25
- "Datum odečtu",
26
- "Čas odečtu",
27
- "Druh registru",
28
- "Výrobní číslo",
29
- "Odečet",
30
- "MJ odečtu",
31
- "MJ zúčt.",
32
- "OM závislé",
33
- "Typ odečtu",
34
- "Status odečtu",
35
- ],
36
- },
37
- },
38
- },
39
- required: ["idOdbernehoMista", "measurements"],
40
- };
41
- //# sourceMappingURL=PtasWebScrapingJsonSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PtasWebScrapingJsonSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/PtasWebScrapingJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,yBAAyB,GAA0C;IAC5E,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,YAAY,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE;oBACzE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACtC;gBACD,QAAQ,EAAE;oBACN,cAAc;oBACd,YAAY;oBACZ,eAAe;oBACf,eAAe;oBACf,QAAQ;oBACR,WAAW;oBACX,UAAU;oBACV,YAAY;oBACZ,YAAY;oBACZ,eAAe;iBAClB;aACJ;SACJ;KACJ;IACD,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC;CACjD,CAAC"}
@@ -1,16 +0,0 @@
1
- export interface IPtasWebScrapingInput {
2
- idOdbernehoMista: string;
3
- measurements: IPtasMeasurement[];
4
- }
5
- export interface IPtasMeasurement {
6
- "Datum odečtu": string;
7
- "Čas odečtu": string;
8
- "Výrobní číslo": string;
9
- "Druh registru": string;
10
- Odečet: string;
11
- "MJ odečtu": string;
12
- "MJ zúčt.": string;
13
- "OM závislé": string;
14
- "Typ odečtu": string;
15
- "Status odečtu": string;
16
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PtasWebScrapingInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PtasWebScrapingInput.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/PtasWebScrapingInput.ts"],"names":[],"mappings":""}
Binary file
Binary file
@@ -1,402 +0,0 @@
1
- # Implementační dokumentace modulu _energetics_
2
-
3
- ## Záměr
4
-
5
- Modul slouží k ukládání dat o spotřebě energií v budovách a jednotlivých bytech a prostorách pro jejich nájemnce
6
-
7
- ## Vstupní data
8
-
9
- ### Data nám jsou posílána
10
-
11
- - Přes Permission Proxy na Input Gateway data si bereme z webu https://portal.ptas.cz/portal, web scraping zajišťují dataři golemia, link gitlabu
12
- https://gitlab.com/operator-ict/golemio/extras/importers/-/blob/development/imports/energetics/scrape_ptas.py?ref_type=heads
13
-
14
- - POST (/ptas/{id}) s id odběrného místa jako parametrem => RabbitMQ send Message `savePtasMeasurements` ([Data example](../test/input-gateway/data/ptas-hot-water-data-input.csv))
15
-
16
- ### Data aktivně stahujeme
17
-
18
- **Dostupní poskytovatelé**:
19
-
20
- - OICT Energetika
21
- - Unimonitor CEM API
22
- - Vrtbovský palác
23
- - Veolia měření P10 - vodoměry a elektroměry
24
- - PPAS (Pražská plynárenská) InternetAVE API
25
- - Měření plynu pro P10
26
- - Azure Blob Storage
27
- - Mapovací JSON pro měření přímo od poskytovatelů komodit
28
-
29
- #### _OICT Energetika_
30
-
31
- - zdroj dat
32
- - url: https://api.oictenergetika.cz (config.datasources.OICTEnergetikaApiUrl)
33
- - parametry dotazu: config.datasources.OICTEnergetikaApiHeaders
34
- - API dokumentace: https://api.oictenergetika.cz/swagger/index.html
35
- - formát dat
36
- - protokol: http
37
- - datový typ: json
38
- - validační schéma: [datasources](../src/schema-definitions/datasources)
39
- - příklad vstupnich dat: [fixtures](../test/integration-engine/workers/oict-energetika/transformations/fixture)
40
- - frekvence stahování
41
- - cron definice:
42
- - cron.dataplatform.energeticsoict.fetchData (data za posledních 14 dní s parametrem `{ "targetDays": 14 }`)
43
- - rabin `0 30 * * * *`
44
- - prod `0 30 * * * *`
45
- - názvy rabbitmq front
46
- - dataplatform.energeticsoict.fetchData
47
- - dataplatform.energeticsoict.fetchBuildings
48
- - dataplatform.energeticsoict.fetchConsumption
49
- - dataplatform.energeticsoict.fetchDevices
50
-
51
- #### _Unimonitor CEM API - Vrtbovský palác_
52
-
53
- - zdroj dat
54
- - url: https://cemapi.unimonitor.eu/api (config.datasources.UnimonitorCemApiEnergetics.url)
55
- - parametry dotazu: config.datasources.UnimonitorCemApiEnergetics
56
- - API dokumentace: https://cemapi.unimonitor.eu/doc/en/index.jsp
57
- - formát dat
58
- - protokol: http
59
- - datový typ: json
60
- - validační schéma: [EnergeticsVpalac](../src/schema-definitions/providers/EnergeticsVpalac.ts)
61
- - příklad vstupnich dat: [fixtures](../test/integration-engine/data)
62
- - frekvence stahování
63
- - cron definice:
64
- - cron.dataplatform.energetics.fetchVpalacXHoursData (data za poslední hodinu s parametrem `{ "targetHours": 1 }`)
65
- - rabin `0 0 * * * *`
66
- - prod `0 0 * * * *`
67
- - cron.dataplatform.energetics.fetchVpalacXDaysData (data za posledních 14 dní s parametrem `{ "targetDays": 14 }`)
68
- - rabin `0 0 8 * * *`
69
- - prod `0 0 8 * * *`
70
- - názvy rabbitmq front
71
- - dataplatform.energetics.fetchVpalacXHoursData
72
- - dataplatform.energetics.fetchVpalacXDaysData
73
-
74
- #### _Unimonitor CEM API - Veolia měření P10_
75
-
76
- - zdroj dat
77
- - url: https://cemapi.unimonitor.eu/api (module.UnimonitorCemApiEnergetics.url)
78
- - parametry dotazu: module.energetics.commodityProviders.cem_api_veolia_water (vodoměry), module.energetics.commodityProviders.cem_api_veolia_electro (elektroměry)
79
- - API dokumentace: https://cemapi.unimonitor.eu/doc/index.html?lang=cs
80
- - formát dat
81
- - protokol: http
82
- - datový typ: json
83
- - validační schéma: [Devices](../src/schema-definitions/datasources/commodity-providers/CemApiDevicesJsonSchema.ts), [Counters](../src/schema-definitions/datasources/commodity-providers/CemApiCountersJsonSchema.ts), [Measurements](../src/schema-definitions/datasources/commodity-providers/CemApiMeasurementsJsonSchema.ts)
84
- - příklad vstupnich dat: viz [test](../test/integration-engine/commodity-providers/FetchVeoliaMeasurementsTask.test.ts)
85
- - frekvence stahování
86
- - cron definice:
87
- - cron.dataplatform.energeticscommodity.fetchMeasurementsFromProviders (data za poslední dny)
88
- - rabin `0 41 * * * *` (s parametrem `{ "targetDays": 14 }`)
89
- - prod `0 41 * * * *` (s parametrem `{ "targetDays": 31 }`)
90
- - názvy rabbitmq front
91
- - dataplatform.energeticscommodity.fetchMeasurementsFromProviders
92
- - dataplatform.energeticscommodity.fetchVeoliaMeasurements
93
-
94
- #### _PPAS (Pražská plynárenská) InternetAVE API_
95
-
96
- - zdroj dat
97
- - url: https://iave.ppas.cz/website/api (module.energetics.commodityProviders.ppas_ave_api.baseUrl)
98
- - API dokumentace: https://www.ave-system.com/Content/download/AveRestApiDocumentation.pdf
99
- - formát dat
100
- - protokol: http
101
- - datový typ: json
102
- - validační schéma: [Places](../src/schema-definitions/datasources/commodity-providers/AveApiPlacesJsonSchema.ts), [DeviceData](../src/schema-definitions/datasources/commodity-providers/AveApiDeviceDataJsonSchema.ts)
103
- - příklad vstupnich dat: viz [test](../test/integration-engine/commodity-providers/FetchPpasMeasurementsTask.test.ts)
104
- - frekvence stahování
105
- - cron definice:
106
- - cron.dataplatform.energeticscommodity.fetchMeasurementsFromProviders (data za poslední dny)
107
- - rabin `0 41 * * * *` (s parametrem `{ "targetDays": 14 }`)
108
- - prod `0 41 * * * *` (s parametrem `{ "targetDays": 31 }`)
109
- - názvy rabbitmq front
110
- - dataplatform.energeticscommodity.fetchMeasurementsFromProviders
111
- - dataplatform.energeticscommodity.fetchPpasMeasurements
112
-
113
- #### _PRE (Pražská energetika)_
114
-
115
- - zdroj dat
116
- - ftp: ftp://ftp.wa-test.oict.cz:16421 (module.energetics.pre_electro_ftp)
117
- - formát dat
118
- - protokol: ftp
119
- - datový typ: csv
120
- - validační schéma: [Data](../src/schema-definitions/datasources/PreElectricConsumptionJson.ts)
121
- - frekvence stahování
122
- - cron definice:
123
- - cron.dataplatform.energeticscommodity.fetchMeasurementsFromProviders (data za poslední dny)
124
- - rabin `0 41 * * * *` (s parametrem `{ "targetDays": 14 }`)
125
- - prod `0 41 * * * *` (s parametrem `{ "targetDays": 31 }`)
126
- - názvy rabbitmq front
127
- - dataplatform.energeticscommodity.fetchPreElectroMeasurementsTask
128
-
129
- #### _Azure Blob Storage - mapovací JSON pro měření_
130
-
131
- - zdroj dat
132
- - url: https://golemgolemio.blob.core.windows.net (module.energetics.commodityProviders.staticData.baseUrl)
133
- - parametry dotazu: path `/golem-energetics/meterssettings.json` (module.energetics.commodityProviders.staticData.metersettings.path)
134
- - API dokumentace: žádná
135
- - formát dat
136
- - protokol: http
137
- - datový typ: json
138
- - validační schéma: [MeterSettings](../src/schema-definitions/datasources/StaticMeterSettingsJsonSchema.ts)
139
- - příklad vstupnich dat: viz [test](../test/integration-engine/commodity-providers/FetchMeasurementOptionsStaticDataTask.test.ts)
140
- - frekvence stahování
141
- - cron definice:
142
- - dataplatform.energeticscommodity.fetchMeasurementOptionsStaticData (data za poslední dny)
143
- - rabin `0 53 6 * * *` (s parametrem `{}`)
144
- - prod `0 53 6 * * *` (s parametrem `{}`)
145
- - názvy rabbitmq front
146
- - dataplatform.energeticscommodity.fetchMeasurementOptionsStaticData
147
-
148
- ## Zpracování dat / transformace
149
-
150
- Všechny tabulky se nachází ve schématu `energetics`
151
-
152
- ### _CommodityWorker_
153
-
154
- Worker se stará o stahování dat (odečty, měřidla a počítadla) přímo od poskytovatelů komodit
155
-
156
- #### _task: FetchMeasurementOptionsStaticDataTask_
157
-
158
- Metoda sbírá mapovací JSON pro měření - odlehčený `metersettings.json` (bez secretů) z původní implementace energetické DB https://gitlab.com/operator-ict/oddeleni-vyvoje/energetika/spotreby-energii-mestskych-budov/stahovani-dat-meridel/-/blob/main/src/OIct.EnergyConsumptionGrabber/meterssettings.json. Za obsah a správu souboru odpovídá Stanislav Krňák
159
-
160
- - vstupní rabbitmq fronta
161
- - název: dataplatform.energeticscommodity.fetchMeasurementOptionsStaticData
162
- - TTL: 59 minut
163
- - parametry: žádné
164
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
165
- - žádné
166
- - datové zdroje
167
- - Azure Blob Storage (golemgolemio.blob.core.windows.net/golem-energetics/meterssettings.json)
168
- - transformace
169
- - žádné
170
- - data modely
171
- - [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
172
-
173
- #### _task: FetchMeasurementsFromProvidersTask_
174
-
175
- Metoda pouze rozesílá zprávy do ostatních front (fetchVeoliaMeasurements). Slouží k získání dat o spotřebě energií od poskytovatelů komodit za posledních X dní
176
-
177
- - vstupní rabbitmq fronta
178
- - název: dataplatform.energeticscommodity.fetchMeasurementsFromProviders
179
- - TTL: 1 hodina
180
- - parametry: `{ targetDays }`
181
- - validační schéma: [DataEntrypointSchema](../src/integration-engine/commodity-providers/workers/schema/DataEntrypointSchema.ts)
182
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
183
- - dataplatform.energeticscommodity.fetchVeoliaMeasurements (vodoměry s parametry `{ providerType: cem_api_veolia_water, dateFrom, dateTo }`)
184
- - dataplatform.energeticscommodity.fetchVeoliaMeasurements (elektroměry s parametry `{ providerType: cem_api_veolia_electro, dateFrom, dateTo }`)
185
- - datové zdroje
186
- - žádné
187
- - transformace
188
- - žádné
189
- - data modely
190
- - žádné
191
-
192
- #### _task: FetchVeoliaMeasurementsTask_
193
-
194
- Metoda sbírá data o spotřebách od poskytovatele komodit - Veolia P10 (vodoměry a elektroměry)
195
-
196
- - vstupní rabbitmq fronta
197
- - název: dataplatform.energeticscommodity.fetchVeoliaMeasurements
198
- - TTL: 1 hodina
199
- - parametry: `{ providerType, dateFrom, dateTo }`
200
- - validační schéma: [VeoliaMeasurementsSchema](../src/integration-engine/commodity-providers/workers/schema/VeoliaMeasurementsSchema.ts)
201
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
202
- - žádné
203
- - datové zdroje
204
- - Unimonitor CEM API
205
- - transformace
206
- - [CemMeasurementTransformation](../src/integration-engine/commodity-providers/transformations/CemMeasurementTransformation.ts)
207
- - data modely
208
- - [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
209
- - [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
210
-
211
- #### _task: FetchPpasMeasurementsTask_
212
-
213
- Metoda sbírá data o spotřebách od poskytovatele komodit - PPAS (Pražská plynárenská) P10
214
-
215
- - vstupní rabbitmq fronta
216
- - název: dataplatform.energeticscommodity.fetchPpasMeasurements
217
- - TTL: 1 hodina
218
- - parametry: `{ providerType, dateFrom, dateTo }`
219
- - validační schéma: [PpasMeasurementsSchema](../src/integration-engine/commodity-providers/workers/schema/PpasMeasurementsSchema.ts)
220
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
221
- - žádné
222
- - datové zdroje
223
- - PPAS (Pražská plynárenská) InternetAVE API
224
- - transformace
225
- - [AveMeasurementTransformation](../src/integration-engine/commodity-providers/transformations/AveMeasurementTransformation.ts)
226
- - data modely
227
- - [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
228
- - [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
229
-
230
- #### _task: FetchPreElectroMeasurementsTask_
231
-
232
- Metoda sbírá data o spotřebách od poskytovatele komodit - PRE (Pražská energetika)
233
-
234
- - vstupní rabbitmq fronta
235
- - název: dataplatform.energeticscommodity.fetchPreElectroMeasurementsTask
236
- - TTL: 1 hodina
237
- - parametry: `{ dateFrom, dateTo }`
238
- - validační schéma: [MeasurementsSchema](../src/integration-engine/commodity-providers/workers/schema/MeasurementsSchema.ts)
239
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
240
- - žádné
241
- - datové zdroje
242
- - PRE (Pražská energetika) FTP
243
- - transformace
244
- - [PreElectroTransformation](../src/integration-engine/commodity-providers/transformations/PreElectroTransformation.ts)
245
- - data modely
246
- - [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
247
- - [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
248
-
249
- #### _task: FetchPtasWebScrapedMeasurementsTask_
250
-
251
- Pomocí tohoto tasku zpracováváme a ukládáme data z input gateway z fronty savePtasMeasurements. Podle původního scraperu z C# bereme pouze teplo horké vody.
252
-
253
- - vstupní rabbitmq fronta
254
- - název: dataplatform.energeticscommodity.savePtasMeasurements
255
- - TTL: 1 hodina
256
- - input: parsované csv příklad ([Data example](../test/input-gateway/data/ptas-hot-water-data-input.csv))
257
- - validační schéma: [PtasWebScrapingJsonSchema](../src/schema-definitions/datasources//PtasWebScrapingJsonSchema.ts)
258
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
259
- - žádné
260
- - datové zdroje
261
- - PTAS Pražská Teplárenská
262
- - transformace
263
- - [PtasWebMeasurementTransformation](../src/integration-engine/commodity-providers/transformations/PtasWebMeasurementTransformation.ts.ts)
264
- - data modely
265
- - [StaticMeterSettingsModel](../src/schema-definitions/models/StaticMeterSettingsModel.ts) tabulka `commodity_static_meter_settings`
266
- - [MeasurementModel](../src/schema-definitions/models/MeasurementsModel.ts) tabulka `consumption_energy_measurements`
267
-
268
- ### _OictEnergetikaWorker_
269
-
270
- Worker se stará o stahování dat (spotřeba, seznamy budov a meřidel) z datového zdroje OICT Energetika
271
-
272
- #### _task: FetchDataTask_
273
-
274
- Metoda pouze rozesílá zprávy do ostatních front (fetchBuildings, fetchConsumption, fetchDevices)
275
-
276
- - vstupní rabbitmq fronta
277
- - název: dataplatform.energeticsoict.fetchData
278
- - TTL: 29 minut
279
- - parametry: `{ targetDays }`
280
- - validační schéma: [FetchDataSchema](../src/integration-engine/workers/oict-energetika/schema/FetchDataSchema.ts)
281
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
282
- - dataplatform.energeticsoict.fetchBuildings
283
- - dataplatform.energeticsoict.fetchConsumption
284
- - dataplatform.energeticsoict.fetchDevices
285
- - datové zdroje
286
- - žádné
287
- - transformace
288
- - žádné
289
- - data modely
290
- - žádné
291
-
292
- #### _task: FetchBuildingsTask_
293
-
294
- Metoda sbírá informace o budovách
295
-
296
- - vstupní rabbitmq fronta
297
- - název: dataplatform.energeticsoict.fetchBuildings
298
- - TTL: 29 minut
299
- - parametry: žádné
300
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
301
- - žádné
302
- - datové zdroje
303
- - OICT Energetika (buildings/full)
304
- - transformace
305
- - [BuildingsTransformation](../src/integration-engine/workers/oict-energetika/transformations/BuildingsTransformation.ts)
306
- - data modely
307
- - BuildingsModel `consumption_energy_buildings`
308
-
309
- #### _task: FetchDevicesTask_
310
-
311
- Metoda sbírá informace o měřičích
312
-
313
- - vstupní rabbitmq fronta
314
- - název: dataplatform.energeticsoict.fetchDevices
315
- - TTL: 29 minut
316
- - parametry: žádné
317
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
318
- - žádné
319
- - datové zdroje
320
- - OICT Energetika (devices/full)
321
- - transformace
322
- - [DevicesTransformation](../src/integration-engine/workers/oict-energetika/transformations/DevicesTransformation.ts)
323
- - data modely
324
- - DevicesModel `consumption_energy_devices`
325
-
326
- #### _task: FetchConsumptionTask_
327
-
328
- Metoda sbírá data o spotřebách od různých poskytovalů API (consumption) a ze systémů Dot Controls (visapp)
329
-
330
- - vstupní rabbitmq fronta
331
- - název: dataplatform.energeticsoict.fetchConsumption
332
- - TTL: 10 hodin
333
- - parametry: `{ dateFrom, dateTo }`
334
- - validační schéma: [FetchDataSchema](../src/integration-engine/workers/oict-energetika/schema/FetchDataSchema.ts)
335
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
336
- - žádné
337
- - datové zdroje
338
- - OICT Energetika (data/consumption, data/visapp)
339
- - transformace
340
- - [ConsumptionTransformation](../src/integration-engine/workers/oict-energetika/transformations/ConsumptionTransformation.ts)
341
- - data modely
342
- - ConsumptionModel `consumption_energy_consumption`
343
-
344
- ### _EnergeticsVpalacWorker_
345
-
346
- Worker se stará o stahování dat (odečty, měřidla a počítadla) z datového zdroje Unimonitor CEM API - Vrtbovský palác
347
-
348
- #### _fetchXHoursData()_
349
-
350
- Metoda sbírá aktuální data
351
-
352
- - vstupní rabbitmq fronta
353
- - název: dataplatform.energetics.fetchVpalacXHoursData
354
- - TTL: 1 hodina
355
- - parametry: `{ targetHours }`
356
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
357
- - žádné
358
- - datové zdroje
359
- - CEM API
360
- - transformace
361
- - [transformations](../src/integration-engine/transformations)
362
- - data modely
363
- - VpalacMeasurementModel `vpalac_measurement`
364
- - VpalacMeasuringEquipmentModel `vpalac_measuring_equipment`
365
- - VpalacMeterTypeModel `vpalac_meter_type`
366
- - VpalacTypeMeasuringEquipmentModel `vpalac_type_measuring_equipment`
367
- - VpalacUnitsModel `vpalac_units`
368
-
369
- #### _fetchXDaysData()_
370
-
371
- Metoda sbírá historická data
372
-
373
- - vstupní rabbitmq fronta
374
- - název: dataplatform.energetics.fetchVpalacXDaysData
375
- - TTL: 1 den
376
- - parametry: `{ targetDays }`
377
- - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
378
- - žádné
379
- - datové zdroje
380
- - CEM API
381
- - transformace
382
- - [transformations](../src/integration-engine/transformations)
383
- - data modely
384
- - VpalacMeasurementModel `vpalac_measurement`
385
- - VpalacMeasuringEquipmentModel `vpalac_measuring_equipment`
386
- - VpalacMeterTypeModel `vpalac_meter_type`
387
- - VpalacTypeMeasuringEquipmentModel `vpalac_type_measuring_equipment`
388
- - VpalacUnitsModel `vpalac_units`
389
-
390
- ## Uložení dat
391
-
392
- - typ databáze
393
- - PSQL
394
- - databázové schéma
395
- - OICT Energetika <br/>
396
- ![consumption energy diagram](./assets/consumption_energy_erd.png)
397
- - Vrtbovský palác <br/>
398
- ![vpalac diagram](./assets/vpalac_erd.png)
399
- - Poskytovatelé komodit <br/>
400
- ![commodity diagram](./assets/commodity_erd.jpg)
401
- - retence dat
402
- - data si uchováváme
@@ -1,97 +0,0 @@
1
- openapi: 3.0.3
2
- info:
3
- title: ⚡ Energetics
4
- description: >-
5
- <p> ⚡ Energetika</p>
6
- version: 1.0.0
7
- contact:
8
- name: Golemio Prague Data Plaform
9
- email: golemio@operatorict.cz
10
- url: https://golemio.cz
11
- servers:
12
- - url: https://rabin.golemio.cz/v2
13
- description: Test (development) server
14
- - url: https://api.golemio.cz/v2
15
- description: Main (production) server
16
-
17
- paths:
18
- /ptas/{id}:
19
- post:
20
- parameters:
21
- - in: path
22
- name: id
23
- required: true
24
- schema:
25
- type: integer
26
- minimum: 1
27
- example: 3336025
28
- description: The meter ID
29
- tags:
30
- - ⚡ Energetics
31
- summary: Receive and save data
32
- requestBody:
33
- content:
34
- text/plain:
35
- schema:
36
- $ref: "#/components/schemas/PtasMeasurement"
37
- examples:
38
- text/plain:
39
- summary: Sample data
40
- value:
41
- "Datum odečtu;Čas odečtu;Výrobní číslo;Druh registru;Odečet;MJ odečtu;MJ zúčt.;OM závislé;Typ odečtu;Status odečtu
42
-
43
- 25.4.2024;00:56;68837353;Teplo horké vody;2 969,03;GJ;GJ;;;nenalezeno"
44
-
45
- responses:
46
- 204:
47
- description: OK
48
- 401:
49
- $ref: "#/components/responses/UnauthorizedError"
50
- 404:
51
- description: Not found
52
- 422:
53
- description: Error while validating input data
54
-
55
- components:
56
- responses:
57
- UnauthorizedError:
58
- description: API key is missing or invalid
59
- headers:
60
- x-access-token:
61
- schema:
62
- type: string
63
- schemas:
64
- PtasMeasurement:
65
- type: object
66
- required:
67
- - Datum odečtu
68
- - Čas odečtu
69
- - Výrobní číslo
70
- - Druh registru
71
- - Odečet
72
- - MJ odečtu
73
- - MJ zúčt.
74
- - OM závislé
75
- - Typ odečtu
76
- - Status odečtu
77
- properties:
78
- Datum odečtu:
79
- type: string
80
- Čas odečtu:
81
- type: string
82
- Výrobní číslo:
83
- type: string
84
- Druh registru:
85
- type: string
86
- Odečet:
87
- type: string
88
- MJ odečtu:
89
- type: string
90
- MJ zúčt.:
91
- type: string
92
- OM závislé:
93
- type: string
94
- Typ odečtu:
95
- type: string
96
- Status odečtu:
97
- type: string