@golemio/parkings 1.8.9 → 1.8.10-dev.1254677597

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 (71) hide show
  1. package/db/example/01_sql_dump.sql +1 -1
  2. package/db/example/04_tsk_parking_v2.sql +2 -2
  3. package/db/example/08_isphk_data.sql +0 -1
  4. package/db/migrations/postgresql/20240402115132-parking-machines-source-id.js +53 -0
  5. package/db/migrations/postgresql/sqls/20240402115132-parking-machines-source-id-down.sql +2 -0
  6. package/db/migrations/postgresql/sqls/20240402115132-parking-machines-source-id-up.sql +3 -0
  7. package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.d.ts +9 -0
  8. package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.js +53 -0
  9. package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.js.map +1 -0
  10. package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.d.ts +8 -0
  11. package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js +53 -0
  12. package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js.map +1 -0
  13. package/dist/integration-engine/index.d.ts +4 -2
  14. package/dist/integration-engine/index.js +11 -2
  15. package/dist/integration-engine/index.js.map +1 -1
  16. package/dist/integration-engine/ioc/Di.js +12 -0
  17. package/dist/integration-engine/ioc/Di.js.map +1 -1
  18. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +6 -0
  19. package/dist/integration-engine/ioc/ModuleContainerToken.js +8 -0
  20. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  21. package/dist/integration-engine/queueDefinitions.js +0 -17
  22. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  23. package/dist/integration-engine/repositories/ParkingMachinesRepository.js +3 -19
  24. package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -1
  25. package/dist/integration-engine/repositories/ParkomatsRepository.d.ts +4 -0
  26. package/dist/integration-engine/repositories/ParkomatsRepository.js +19 -0
  27. package/dist/integration-engine/repositories/ParkomatsRepository.js.map +1 -0
  28. package/dist/integration-engine/transformations/ParkomatsTransformation.d.ts +3 -1
  29. package/dist/integration-engine/transformations/ParkomatsTransformation.js.map +1 -1
  30. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +4 -2
  31. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -1
  32. package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.d.ts +10 -0
  33. package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.js +26 -0
  34. package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.js.map +1 -0
  35. package/dist/integration-engine/workers/NewParkingsWorker.js +1 -0
  36. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  37. package/dist/integration-engine/workers/ParkomatsWorker.d.ts +6 -0
  38. package/dist/integration-engine/workers/ParkomatsWorker.js +19 -0
  39. package/dist/integration-engine/workers/ParkomatsWorker.js.map +1 -0
  40. package/dist/integration-engine/workers/schemas/ParkomatSchema.d.ts +8 -0
  41. package/dist/integration-engine/workers/schemas/ParkomatSchema.js +27 -0
  42. package/dist/integration-engine/workers/schemas/ParkomatSchema.js.map +1 -0
  43. package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.d.ts +17 -0
  44. package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js +76 -0
  45. package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js.map +1 -0
  46. package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.d.ts +12 -0
  47. package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.js +62 -0
  48. package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.js.map +1 -0
  49. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +1 -1
  50. package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -1
  51. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +1 -1
  52. package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -1
  53. package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.d.ts +28 -0
  54. package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js +4 -0
  55. package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js.map +1 -1
  56. package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.d.ts +3 -0
  57. package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.js +14 -0
  58. package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.js.map +1 -0
  59. package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.d.ts +5 -0
  60. package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.js +3 -0
  61. package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.js.map +1 -0
  62. package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +3 -0
  63. package/dist/schema-definitions/models/ParkingMachinesModel.js +22 -0
  64. package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -1
  65. package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +3 -2
  66. package/docs/implementation-documentation.md +54 -5
  67. package/docs/openapi-output.yaml +6 -6
  68. package/package.json +2 -2
  69. package/dist/integration-engine/ParkomatsWorker.d.ts +0 -10
  70. package/dist/integration-engine/ParkomatsWorker.js +0 -77
  71. package/dist/integration-engine/ParkomatsWorker.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OsmParkingMachinesTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
6
+ class OsmParkingMachinesTransformation extends AbstractTransformation_1.AbstractTransformation {
7
+ constructor(transformationDate) {
8
+ super();
9
+ this.transformationDate = transformationDate;
10
+ this.name = "OsmParkingMachinesTransformation";
11
+ this.transformInternal = (parkingMachine) => {
12
+ return {
13
+ id: `${SourceEnum_1.SourceEnum.OSM}-${parkingMachine.properties.osm_id}`,
14
+ source: SourceEnum_1.SourceEnum.OSM,
15
+ sourceId: parkingMachine.properties.osm_id,
16
+ code: null,
17
+ type: "payment_machine",
18
+ location: parkingMachine.geometry,
19
+ validFrom: this.transformationDate,
20
+ tariffId: null,
21
+ };
22
+ };
23
+ }
24
+ }
25
+ exports.OsmParkingMachinesTransformation = OsmParkingMachinesTransformation;
26
+ //# sourceMappingURL=OsmParkingMachinesTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OsmParkingMachinesTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/osm/OsmParkingMachinesTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAE1G,sEAA2D;AAI3D,MAAa,gCAAiC,SAAQ,+CAGrD;IAGG,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAW,kCAAkC,CAAC;QAMzD,sBAAiB,GAAG,CAAC,cAA8D,EAAmB,EAAE;YACpG,OAAO;gBACH,EAAE,EAAE,GAAG,uBAAU,CAAC,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3D,MAAM,EAAE,uBAAU,CAAC,GAAG;gBACtB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM;gBAC1C,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC,CAAC;IAbF,CAAC;CAcJ;AAtBD,4EAsBC"}
@@ -29,6 +29,7 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
29
29
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIsphkMeasurementsTask));
30
30
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveOsmEntrancesDataTask));
31
31
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveManualEntrancesDataTask));
32
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveOsmParkingMachinesTask));
32
33
  }
33
34
  }
34
35
  exports.NewParkingsWorker = NewParkingsWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAIjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAsB7C,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;QApBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC1G,CAAC;;AAtBL,8CA4BC;AA3BmB,4BAAU,GAAG,oCAAwB,AAA3B,CAA4B"}
1
+ {"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAIjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAuB7C,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;QArBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzG,CAAC;;AAvBL,8CA6BC;AA5BmB,4BAAU,GAAG,oCAAwB,AAA3B,CAA4B"}
@@ -0,0 +1,6 @@
1
+ import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class ParkomatsWorker extends AbstractWorker {
3
+ protected readonly name = "Parkomats";
4
+ constructor();
5
+ registerTask: (task: AbstractTask<any>) => void;
6
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkomatsWorker = void 0;
4
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
5
+ const Di_1 = require("../ioc/Di");
6
+ const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
7
+ class ParkomatsWorker extends workers_1.AbstractWorker {
8
+ constructor() {
9
+ super();
10
+ this.name = "Parkomats";
11
+ this.registerTask = (task) => {
12
+ super.registerTask(task);
13
+ task.queuePrefix = this.getQueuePrefix();
14
+ };
15
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RefreshDataInDbTask));
16
+ }
17
+ }
18
+ exports.ParkomatsWorker = ParkomatsWorker;
19
+ //# sourceMappingURL=ParkomatsWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkomatsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/ParkomatsWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA6F;AAC7F,kCAA+C;AAE/C,sEAAoE;AAEpE,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,WAAW,CAAC;QAM/B,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;QALE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAsB,2CAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChH,CAAC;CAKJ;AAXD,0CAWC"}
@@ -0,0 +1,8 @@
1
+ export interface IParkomatMessage {
2
+ from?: string;
3
+ to?: string;
4
+ }
5
+ export declare class IParkomatValidationSchema implements IParkomatMessage {
6
+ from: string;
7
+ to: string;
8
+ }
@@ -0,0 +1,27 @@
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.IParkomatValidationSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ class IParkomatValidationSchema {
15
+ }
16
+ exports.IParkomatValidationSchema = IParkomatValidationSchema;
17
+ __decorate([
18
+ (0, class_validator_1.IsDateString)(),
19
+ (0, class_validator_1.IsOptional)(),
20
+ __metadata("design:type", String)
21
+ ], IParkomatValidationSchema.prototype, "from", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsDateString)(),
24
+ (0, class_validator_1.IsOptional)(),
25
+ __metadata("design:type", String)
26
+ ], IParkomatValidationSchema.prototype, "to", void 0);
27
+ //# sourceMappingURL=ParkomatSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkomatSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/ParkomatSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAqF;AAOrF,MAAa,yBAAyB;CAOrC;AAPD,8DAOC;AAJG;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;uDACC;AAGd;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;qDACD"}
@@ -0,0 +1,17 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
3
+ import { IParkomatMessage, IParkomatValidationSchema } from "../schemas/ParkomatSchema";
4
+ import { ParkomatsTransformation } from "../../transformations/ParkomatsTransformation";
5
+ import { ParkomatsRepository } from "../../repositories/ParkomatsRepository";
6
+ import { ParkomatsDataSource } from "../../datasources/parkomats/ParkomatsDataSource";
7
+ export declare class RefreshDataInDbTask extends AbstractTask<IParkomatMessage> {
8
+ private model;
9
+ private transformation;
10
+ private dataSource;
11
+ private log;
12
+ readonly queueName = "refreshDataInDB";
13
+ readonly queueTtl: number;
14
+ readonly schema: typeof IParkomatValidationSchema;
15
+ constructor(model: ParkomatsRepository, transformation: ParkomatsTransformation, dataSource: ParkomatsDataSource, log: ILogger);
16
+ execute: (msg: IParkomatMessage) => Promise<void>;
17
+ }
@@ -0,0 +1,76 @@
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.RefreshDataInDbTask = void 0;
25
+ const helpers_1 = require("@golemio/core/dist/helpers");
26
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
27
+ const ParkomatSchema_1 = require("../schemas/ParkomatSchema");
28
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
30
+ const ParkomatsTransformation_1 = require("../../transformations/ParkomatsTransformation");
31
+ const ParkomatsRepository_1 = require("../../repositories/ParkomatsRepository");
32
+ const ParkomatsDataSource_1 = require("../../datasources/parkomats/ParkomatsDataSource");
33
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
34
+ const _sch_1 = require("../../../schema-definitions");
35
+ let RefreshDataInDbTask = exports.RefreshDataInDbTask = class RefreshDataInDbTask extends integration_engine_1.AbstractTask {
36
+ constructor(model, transformation, dataSource, log) {
37
+ super(_sch_1.Parkomats.name.toLowerCase());
38
+ this.model = model;
39
+ this.transformation = transformation;
40
+ this.dataSource = dataSource;
41
+ this.log = log;
42
+ this.queueName = "refreshDataInDB";
43
+ this.queueTtl = 2 * 60 * 1000; // 2 minutes
44
+ this.schema = ParkomatSchema_1.IParkomatValidationSchema;
45
+ this.execute = (msg) => __awaiter(this, void 0, void 0, function* () {
46
+ let from;
47
+ let to;
48
+ if (msg.from && msg.to) {
49
+ from = (0, helpers_1.dateTime)(new Date(msg.from), { timeZone: "Europe/Prague" });
50
+ to = (0, helpers_1.dateTime)(new Date(msg.to), { timeZone: "Europe/Prague" });
51
+ this.log.debug(`Interval from: ${from} to ${to} was used.`);
52
+ }
53
+ else {
54
+ const now = new Date();
55
+ now.setHours(4, 0, 0, 0);
56
+ to = (0, helpers_1.dateTime)(now).setTimeZone("Europe/Prague");
57
+ from = to.clone();
58
+ from.subtract(28, "hours");
59
+ }
60
+ const data = yield this.dataSource.getParkomats("from=" + from.format("yyyy-LL-dd'T'HH:mm:ss") + `&to=${to.format("yyyy-LL-dd'T'HH:mm:ss")}`);
61
+ const transformedData = yield this.transformation.transform(data);
62
+ yield this.model.bulkSave(transformedData);
63
+ });
64
+ }
65
+ };
66
+ exports.RefreshDataInDbTask = RefreshDataInDbTask = __decorate([
67
+ (0, tsyringe_1.injectable)(),
68
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsRepository)),
69
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsTransformation)),
70
+ __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsDataSource)),
71
+ __param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
72
+ __metadata("design:paramtypes", [ParkomatsRepository_1.ParkomatsRepository,
73
+ ParkomatsTransformation_1.ParkomatsTransformation,
74
+ ParkomatsDataSource_1.ParkomatsDataSource, Object])
75
+ ], RefreshDataInDbTask);
76
+ //# sourceMappingURL=RefreshDataInDbTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefreshDataInDbTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshDataInDbTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAyE;AACzE,8EAAqE;AACrE,8DAAwF;AACxF,iEAAwE;AACxE,yEAAoE;AACpE,2FAAsF;AACtF,gFAA2E;AAC3E,yFAAoF;AACpF,wEAAqE;AACrE,sDAAiC;AAG1B,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,iCAA8B;IAKnE,YAEI,KAAkC,EAElC,cAA+C,EAE/C,UAAuC,EAEvC,GAAoB;QAEpB,KAAK,CAAC,gBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAR5B,UAAK,GAAL,KAAK,CAAqB;QAE1B,mBAAc,GAAd,cAAc,CAAyB;QAEvC,eAAU,GAAV,UAAU,CAAqB;QAE/B,QAAG,GAAH,GAAG,CAAS;QAZR,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,0CAAyB,CAAC;QAe5C,YAAO,GAAG,CAAO,GAAqB,EAAiB,EAAE;YAC5D,IAAI,IAAc,CAAC;YACnB,IAAI,EAAY,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE;gBACpB,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBACnE,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;aAC/D;iBAAM;gBACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,EAAE,GAAG,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAChD,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;aAC9B;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAC3C,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAC/F,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC;IAtBF,CAAC;CAuBJ,CAAA;8BAvCY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,uBAAuB,CAAC,CAAA;IAEpD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCALV,yCAAmB;QAEV,iDAAuB;QAE3B,yCAAmB;GAXlC,mBAAmB,CAuC/B"}
@@ -0,0 +1,12 @@
1
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
2
+ import { OsmParkingMachinesDataSource } from "../../datasources/osm/OsmParkingMachinesDataSource";
3
+ import { ParkingMachinesRepository } from "../../repositories/ParkingMachinesRepository";
4
+ export declare class SaveOsmParkingMachinesTask extends AbstractEmptyTask {
5
+ private dataSource;
6
+ private repository;
7
+ readonly queueName = "saveOsmParkingMachinesTask";
8
+ readonly queueTtl: number;
9
+ constructor(dataSource: OsmParkingMachinesDataSource, repository: ParkingMachinesRepository);
10
+ protected execute(): Promise<void>;
11
+ private getAtributesToUpdate;
12
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ 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.SaveOsmParkingMachinesTask = void 0;
25
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
26
+ const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
27
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
+ const constants_1 = require("../constants");
29
+ const OsmParkingMachinesDataSource_1 = require("../../datasources/osm/OsmParkingMachinesDataSource");
30
+ const ParkingMachinesRepository_1 = require("../../repositories/ParkingMachinesRepository");
31
+ const OsmParkingMachinesTransformation_1 = require("../../transformations/osm/OsmParkingMachinesTransformation");
32
+ let SaveOsmParkingMachinesTask = exports.SaveOsmParkingMachinesTask = class SaveOsmParkingMachinesTask extends AbstractEmptyTask_1.AbstractEmptyTask {
33
+ constructor(dataSource, repository) {
34
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
35
+ this.dataSource = dataSource;
36
+ this.repository = repository;
37
+ this.queueName = "saveOsmParkingMachinesTask";
38
+ this.queueTtl = 15 * 60 * 1000; // 15min
39
+ }
40
+ execute() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const transformationDate = new Date();
43
+ const parkingMachines = yield this.dataSource.getOsmParkingMachines();
44
+ const transformation = new OsmParkingMachinesTransformation_1.OsmParkingMachinesTransformation(transformationDate);
45
+ const transformedData = transformation.transformArray(parkingMachines);
46
+ yield this.repository.bulkSave(transformedData, this.getAtributesToUpdate(transformedData[0]));
47
+ });
48
+ }
49
+ getAtributesToUpdate(parkingMachine) {
50
+ return Object.keys(parkingMachine)
51
+ .filter((key) => key !== "validFrom")
52
+ .concat("updated_at");
53
+ }
54
+ };
55
+ exports.SaveOsmParkingMachinesTask = SaveOsmParkingMachinesTask = __decorate([
56
+ (0, tsyringe_1.injectable)(),
57
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OsmParkingMachinesDataSource)),
58
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository)),
59
+ __metadata("design:paramtypes", [OsmParkingMachinesDataSource_1.OsmParkingMachinesDataSource,
60
+ ParkingMachinesRepository_1.ParkingMachinesRepository])
61
+ ], SaveOsmParkingMachinesTask);
62
+ //# sourceMappingURL=SaveOsmParkingMachinesTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveOsmParkingMachinesTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,qGAAgG;AAChG,4FAAuF;AACvF,iHAA4G;AAIrG,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,qCAAiB;IAI7D,YAEI,UAAgD,EACQ,UAA6C;QAErG,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAHxB,eAAU,GAAV,UAAU,CAA8B;QACgB,eAAU,GAAV,UAAU,CAA2B;QANzF,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAQnD,CAAC;IAEe,OAAO;;YACnB,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;YAEtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,mEAAgC,CAAC,kBAAkB,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC;KAAA;IAEO,oBAAoB,CAAC,cAA+B;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;aACpC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;qCA1BY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;IAEzD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,yBAAyB,CAAC,CAAA;qCADnC,2DAA4B;QAC4B,qDAAyB;GAPhG,0BAA0B,CA0BtC"}
@@ -33,7 +33,7 @@ class V3ParkingMachinesRouter extends AbstractRouter_1.AbstractRouter {
33
33
  .not()
34
34
  .isArray(),
35
35
  ], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)(this.path), (0, output_gateway_1.useCacheMiddleware)(), this.controller.getAll);
36
- this.router.get("/:id", (0, express_validator_1.param)("id").exists().isUUID().not().isArray(), Validation_1.checkErrors, (0, output_gateway_1.useCacheMiddleware)(), this.controller.getOne);
36
+ this.router.get("/:id", (0, express_validator_1.param)("id").exists().not().isEmpty({ ignore_whitespace: true }).not().isArray(), Validation_1.checkErrors, (0, output_gateway_1.useCacheMiddleware)(), this.controller.getOne);
37
37
  }
38
38
  }
39
39
  const v3ParkingMachinesRouter = new V3ParkingMachinesRouter();
@@ -1 +1 @@
1
- {"version":3,"file":"V3ParkingMachinesRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingMachinesRouter.ts"],"names":[],"mappings":";;;AAAA,kGAA6F;AAC7F,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,sEAAuE;AACvE,6EAAkH;AAClH,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,uBAAwB,SAAQ,+BAAc;IAKhD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAHvC,mBAAc,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB;QAK/E,IAAI,CAAC,UAAU,GAAG,IAAI,yDAA2B,EAAE,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAClD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,UAAU,CAAC;iBACZ,QAAQ,EAAE;iBACV,OAAO,CAAC,UAAU,CAAC,CAAC,wCAAwC;iBAC5D,GAAG,EAAE;iBACL,OAAO,EAAE;SACjB,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,MAAM,EACN,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAC7C,wBAAW,EACX,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,uBAAuB,GAAmB,IAAI,uBAAuB,EAAE,CAAC;AAErE,0DAAuB"}
1
+ {"version":3,"file":"V3ParkingMachinesRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingMachinesRouter.ts"],"names":[],"mappings":";;;AAAA,kGAA6F;AAC7F,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,sEAAuE;AACvE,6EAAkH;AAClH,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,uBAAwB,SAAQ,+BAAc;IAKhD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAHvC,mBAAc,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB;QAK/E,IAAI,CAAC,UAAU,GAAG,IAAI,yDAA2B,EAAE,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAClD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,UAAU,CAAC;iBACZ,QAAQ,EAAE;iBACV,OAAO,CAAC,UAAU,CAAC,CAAC,wCAAwC;iBAC5D,GAAG,EAAE;iBACL,OAAO,EAAE;SACjB,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,MAAM,EACN,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAC/E,wBAAW,EACX,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,uBAAuB,GAAmB,IAAI,uBAAuB,EAAE,CAAC;AAErE,0DAAuB"}
@@ -20,7 +20,7 @@ class ParkingMachinesDtoTransformation extends AbstractTransformation_1.Abstract
20
20
  return (0, Geo_1.buildGeojsonFeature)({
21
21
  id: element.id,
22
22
  primary_source: element.source,
23
- primary_source_id: element.id,
23
+ primary_source_id: element.sourceId,
24
24
  code: element.code,
25
25
  machine_type: element.type,
26
26
  valid_from: element.validFrom,
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingMachinesDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,+DAA4H;AAE5H,6EAAwE;AAExE,MAAa,gCAAiC,SAAQ,+CAAwD;IAA9G;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAElD,iCAA4B,GAAG,CAAC,QAA2B,EAAE,EAAE;YAClE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE;YACvD,OAAO,IAAA,yBAAmB,EACtB;gBACI,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,EAAE;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/C,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD,EACD,KAAK,EACL,KAAK,EACL,IAAI,CACP,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA7BD,4EA6BC"}
1
+ {"version":3,"file":"ParkingMachinesDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,+DAA4H;AAE5H,6EAAwE;AAExE,MAAa,gCAAiC,SAAQ,+CAAwD;IAA9G;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAElD,iCAA4B,GAAG,CAAC,QAA2B,EAAE,EAAE;YAClE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE;YACvD,OAAO,IAAA,yBAAmB,EACtB;gBACI,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,QAAQ;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/C,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD,EACD,KAAK,EACL,KAAK,EACL,IAAI,CACP,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA7BD,4EA6BC"}
@@ -2,6 +2,7 @@ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
2
  import { IOsmParkingProperties } from "./interfaces/IOsmParkingProperties";
3
3
  import { IOsmParkingSpacesProperties } from "./interfaces/IOsmParkingSpacesProperties";
4
4
  import { IOsmEntranceProperties } from "./interfaces/IOsmEntranceProperties";
5
+ import { IOsmParkingMachinesProperties } from "./interfaces/IOsmParkingMachinesProperties";
5
6
  export declare class OsmSchemaGenerator {
6
7
  static getParkingSchema(): {
7
8
  type: string;
@@ -84,5 +85,32 @@ export declare class OsmSchemaGenerator {
84
85
  };
85
86
  required: string[];
86
87
  };
88
+ static getParkingMachinesSchema(): {
89
+ type: string;
90
+ properties: {
91
+ type: {
92
+ type: string;
93
+ enum: string[];
94
+ };
95
+ features: {
96
+ type: string;
97
+ items: {
98
+ type: string;
99
+ properties: {
100
+ type: {
101
+ type: string;
102
+ enum: string[];
103
+ };
104
+ geometry: {
105
+ type: string;
106
+ };
107
+ properties: JSONSchemaType<IOsmParkingMachinesProperties>;
108
+ };
109
+ required: string[];
110
+ };
111
+ };
112
+ };
113
+ required: string[];
114
+ };
87
115
  private static getSchema;
88
116
  }
@@ -4,6 +4,7 @@ exports.OsmSchemaGenerator = void 0;
4
4
  const OsmEntrancesParkingSchema_1 = require("./OsmEntrancesParkingSchema");
5
5
  const OsmParkingSchema_1 = require("./OsmParkingSchema");
6
6
  const OsmParkingSpacesSchema_1 = require("./OsmParkingSpacesSchema");
7
+ const OsmParkingMachinesSchema_1 = require("./OsmParkingMachinesSchema");
7
8
  class OsmSchemaGenerator {
8
9
  static getParkingSchema() {
9
10
  return this.getSchema(OsmParkingSchema_1.osmParkingSchema);
@@ -14,6 +15,9 @@ class OsmSchemaGenerator {
14
15
  static getEntranceSchema() {
15
16
  return this.getSchema(OsmEntrancesParkingSchema_1.osmEntrancesParkingSchema);
16
17
  }
18
+ static getParkingMachinesSchema() {
19
+ return this.getSchema(OsmParkingMachinesSchema_1.osmParkingMachinesSchema);
20
+ }
17
21
  static getSchema(propertiesSchema) {
18
22
  return {
19
23
  type: "object",
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;AAIA,2EAAwE;AACxE,yDAAsD;AACtD,qEAAkE;AAElE,MAAa,kBAAkB;IACpB,MAAM,CAAC,gBAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAwB,mCAAgB,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAA8B,+CAAsB,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAyB,qDAAyB,CAAC,CAAC;IAC7E,CAAC;IAEO,MAAM,CAAC,SAAS,CAAI,gBAAmC;QAC3D,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;iBAC9B;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,SAAS,CAAC;6BACpB;4BACD,QAAQ,EAAE;gCACN,IAAI,EAAE,QAAQ;6BACjB;4BACD,UAAU,EAAE,gBAAgB;yBAC/B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;qBAC/C;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;SACjC,CAAC;IACN,CAAC;CACJ;AA1CD,gDA0CC"}
1
+ {"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;AAKA,2EAAwE;AACxE,yDAAsD;AACtD,qEAAkE;AAClE,yEAAyF;AAEzF,MAAa,kBAAkB;IACpB,MAAM,CAAC,gBAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAwB,mCAAgB,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAA8B,+CAAsB,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAyB,qDAAyB,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,wBAAwB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAgC,mDAAwB,CAAC,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,SAAS,CAAI,gBAAmC;QAC3D,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;iBAC9B;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,SAAS,CAAC;6BACpB;4BACD,QAAQ,EAAE;gCACN,IAAI,EAAE,QAAQ;6BACjB;4BACD,UAAU,EAAE,gBAAgB;yBAC/B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;qBAC/C;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;SACjC,CAAC;IACN,CAAC;CACJ;AA9CD,gDA8CC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { IOsmParkingMachinesProperties } from "./interfaces/IOsmParkingMachinesProperties";
3
+ export declare const osmParkingMachinesSchema: JSONSchemaType<IOsmParkingMachinesProperties>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.osmParkingMachinesSchema = void 0;
4
+ exports.osmParkingMachinesSchema = {
5
+ type: "object",
6
+ properties: {
7
+ parking_id: { type: "string" },
8
+ osm_id: { type: "string" },
9
+ name: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
10
+ },
11
+ required: ["parking_id", "osm_id"],
12
+ additionalProperties: true,
13
+ };
14
+ //# sourceMappingURL=OsmParkingMachinesSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OsmParkingMachinesSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/OsmParkingMachinesSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAkD;IACnF,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;KAC1E;IACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;IAClC,oBAAoB,EAAE,IAAI;CAC7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface IOsmParkingMachinesProperties {
2
+ parking_id: string;
3
+ osm_id: string;
4
+ name: string | null;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IOsmParkingMachinesProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOsmParkingMachinesProperties.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.ts"],"names":[],"mappings":""}
@@ -1,14 +1,17 @@
1
1
  import { Point } from "@golemio/core/dist/shared/geojson";
2
2
  import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
3
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
3
4
  import { IParkingMachine } from "./interfaces/IParkingMachine";
4
5
  export declare class ParkingMachinesModel extends Model<IParkingMachine> implements IParkingMachine {
5
6
  static tableName: string;
6
7
  id: string;
7
8
  source: string;
9
+ sourceId: string;
8
10
  code: string;
9
11
  type: string;
10
12
  location: Point;
11
13
  validFrom: Date;
12
14
  tariffId: string;
13
15
  static attributeModel: ModelAttributes<ParkingMachinesModel>;
16
+ static jsonSchema: JSONSchemaType<IParkingMachine[]>;
14
17
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParkingMachinesModel = void 0;
4
4
  const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ const schema_definitions_1 = require("@golemio/core/dist/schema-definitions");
5
6
  class ParkingMachinesModel extends sequelize_1.Model {
6
7
  }
7
8
  exports.ParkingMachinesModel = ParkingMachinesModel;
@@ -12,10 +13,31 @@ ParkingMachinesModel.attributeModel = {
12
13
  type: sequelize_1.DataTypes.STRING,
13
14
  },
14
15
  source: sequelize_1.DataTypes.STRING,
16
+ sourceId: sequelize_1.DataTypes.STRING,
15
17
  code: sequelize_1.DataTypes.STRING,
16
18
  type: sequelize_1.DataTypes.STRING,
17
19
  location: sequelize_1.DataTypes.GEOMETRY,
18
20
  validFrom: sequelize_1.DataTypes.DATE,
19
21
  tariffId: sequelize_1.DataTypes.STRING,
20
22
  };
23
+ ParkingMachinesModel.jsonSchema = {
24
+ type: "array",
25
+ items: {
26
+ type: "object",
27
+ properties: {
28
+ id: { type: "string" },
29
+ source: { type: "string" },
30
+ sourceId: { type: "string" },
31
+ code: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
32
+ type: { type: "string" },
33
+ location: { $ref: "#/definitions/geometry" },
34
+ validFrom: { type: "object" },
35
+ },
36
+ required: ["id", "source", "sourceId", "type", "location"],
37
+ },
38
+ definitions: {
39
+ // @ts-expect-error
40
+ geometry: schema_definitions_1.SharedSchemaProvider.Geometry,
41
+ },
42
+ };
21
43
  //# sourceMappingURL=ParkingMachinesModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingMachinesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingMachinesModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,oBAAqB,SAAQ,iBAAsB;;AAAhE,oDAuBC;AAtBiB,8BAAS,GAAG,kBAAkB,CAAC;AAU/B,mCAAc,GAA0C;IAClE,EAAE,EAAE;QACA,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM;IACxB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,QAAQ,EAAE,qBAAS,CAAC,QAAQ;IAC5B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,qBAAS,CAAC,MAAM;CAC7B,CAAC"}
1
+ {"version":3,"file":"ParkingMachinesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingMachinesModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,8EAA6E;AAE7E,MAAa,oBAAqB,SAAQ,iBAAsB;;AAAhE,oDA8CC;AA7CiB,8BAAS,GAAG,kBAAkB,CAAC;AAW/B,mCAAc,GAA0C;IAClE,EAAE,EAAE;QACA,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM;IACxB,QAAQ,EAAE,qBAAS,CAAC,MAAM;IAC1B,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,QAAQ,EAAE,qBAAS,CAAC,QAAQ;IAC5B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,qBAAS,CAAC,MAAM;CAC7B,CAAC;AAEY,+BAAU,GAAsC;IAC1D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACvE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;YAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;KAC7D;IACD,WAAW,EAAE;QACT,mBAAmB;QACnB,QAAQ,EAAE,yCAAoB,CAAC,QAAQ;KAC1C;CACJ,CAAC"}
@@ -2,9 +2,10 @@ import { Geometry } from "@golemio/core/dist/shared/geojson";
2
2
  export interface IParkingMachine {
3
3
  id: string;
4
4
  source: string;
5
- code: string;
5
+ sourceId: string;
6
+ code: string | null;
6
7
  type: string;
7
8
  location: Geometry;
8
9
  validFrom: Date;
9
- tariffId: string;
10
+ tariffId: string | null;
10
11
  }