@golemio/parkings 1.9.4 → 1.9.6-dev.1345021067

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/db/example/01_sql_dump.sql +12 -12
  2. package/db/migrations/postgresql/20240610121119-prohibitions-sources.js +53 -0
  3. package/db/migrations/postgresql/20240619080834-sources-name.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240610121119-prohibitions-sources-down.sql +1 -0
  5. package/db/migrations/postgresql/sqls/20240610121119-prohibitions-sources-up.sql +1 -0
  6. package/db/migrations/postgresql/sqls/20240619080834-sources-name-down.sql +1 -0
  7. package/db/migrations/postgresql/sqls/20240619080834-sources-name-up.sql +1 -0
  8. package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +10 -0
  9. package/dist/helpers/data-access/CachedParkingSourcesRepository.js +17 -0
  10. package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -1
  11. package/dist/integration-engine/datasources/iptoict/IptOictParkingsProhibitionsDataSource.d.ts +1 -4
  12. package/dist/integration-engine/datasources/iptoict/IptOictParkingsProhibitionsDataSource.js +4 -16
  13. package/dist/integration-engine/datasources/iptoict/IptOictParkingsProhibitionsDataSource.js.map +1 -1
  14. package/dist/integration-engine/ioc/Di.js +2 -0
  15. package/dist/integration-engine/ioc/Di.js.map +1 -1
  16. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +1 -0
  17. package/dist/integration-engine/ioc/ModuleContainerToken.js +1 -0
  18. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  19. package/dist/integration-engine/repositories/OpenHoursRepository.d.ts +1 -1
  20. package/dist/integration-engine/repositories/OpenHoursRepository.js +2 -3
  21. package/dist/integration-engine/repositories/OpenHoursRepository.js.map +1 -1
  22. package/dist/integration-engine/repositories/ParkingEntrancesRepository.d.ts +1 -1
  23. package/dist/integration-engine/repositories/ParkingEntrancesRepository.js +2 -3
  24. package/dist/integration-engine/repositories/ParkingEntrancesRepository.js.map +1 -1
  25. package/dist/integration-engine/repositories/ParkingPaymentsRepository.d.ts +1 -1
  26. package/dist/integration-engine/repositories/ParkingPaymentsRepository.js +2 -2
  27. package/dist/integration-engine/repositories/ParkingPaymentsRepository.js.map +1 -1
  28. package/dist/integration-engine/repositories/ParkingTariffsRepository.d.ts +1 -1
  29. package/dist/integration-engine/repositories/ParkingTariffsRepository.js +2 -3
  30. package/dist/integration-engine/repositories/ParkingTariffsRepository.js.map +1 -1
  31. package/dist/integration-engine/transformations/IptOictParkingProhibitionsTransformation.d.ts +2 -0
  32. package/dist/integration-engine/transformations/IptOictParkingProhibitionsTransformation.js +5 -5
  33. package/dist/integration-engine/transformations/IptOictParkingProhibitionsTransformation.js.map +1 -1
  34. package/dist/integration-engine/workers/NewParkingsWorker.js +1 -0
  35. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  36. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.d.ts +2 -0
  37. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js +11 -0
  38. package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js.map +1 -1
  39. package/dist/integration-engine/workers/tasks/GenerateIptOictProhibitionsJobsTask.d.ts +10 -0
  40. package/dist/integration-engine/workers/tasks/GenerateIptOictProhibitionsJobsTask.js +57 -0
  41. package/dist/integration-engine/workers/tasks/GenerateIptOictProhibitionsJobsTask.js.map +1 -0
  42. package/dist/integration-engine/workers/tasks/SaveIptOictEntrancesDataTask.js +2 -1
  43. package/dist/integration-engine/workers/tasks/SaveIptOictEntrancesDataTask.js.map +1 -1
  44. package/dist/integration-engine/workers/tasks/SaveIptOictParkingDataTask.js +2 -1
  45. package/dist/integration-engine/workers/tasks/SaveIptOictParkingDataTask.js.map +1 -1
  46. package/dist/integration-engine/workers/tasks/SaveIptOictProhibitionsDataTask.d.ts +10 -4
  47. package/dist/integration-engine/workers/tasks/SaveIptOictProhibitionsDataTask.js +35 -8
  48. package/dist/integration-engine/workers/tasks/SaveIptOictProhibitionsDataTask.js.map +1 -1
  49. package/dist/integration-engine/workers/tasks/SaveOsmDataTask.js +2 -1
  50. package/dist/integration-engine/workers/tasks/SaveOsmDataTask.js.map +1 -1
  51. package/dist/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.js +2 -1
  52. package/dist/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.js.map +1 -1
  53. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js +2 -1
  54. package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js.map +1 -1
  55. package/dist/output-gateway/controllers/v3/V3ParkingSourcesController.d.ts +8 -0
  56. package/dist/output-gateway/controllers/v3/V3ParkingSourcesController.js +53 -0
  57. package/dist/output-gateway/controllers/v3/V3ParkingSourcesController.js.map +1 -0
  58. package/dist/output-gateway/data-access/ParkingSourcesRepository.d.ts +8 -0
  59. package/dist/output-gateway/data-access/ParkingSourcesRepository.js +65 -0
  60. package/dist/output-gateway/data-access/ParkingSourcesRepository.js.map +1 -0
  61. package/dist/output-gateway/helpers/params/IParkingSourcesParams.d.ts +4 -0
  62. package/dist/output-gateway/helpers/params/IParkingSourcesParams.js +3 -0
  63. package/dist/output-gateway/helpers/params/IParkingSourcesParams.js.map +1 -0
  64. package/dist/output-gateway/index.js +1 -0
  65. package/dist/output-gateway/index.js.map +1 -1
  66. package/dist/output-gateway/ioc/Di.js +7 -2
  67. package/dist/output-gateway/ioc/Di.js.map +1 -1
  68. package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +2 -0
  69. package/dist/output-gateway/ioc/ModuleContainerToken.js +2 -0
  70. package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -1
  71. package/dist/output-gateway/routers/index.d.ts +1 -0
  72. package/dist/output-gateway/routers/index.js +1 -0
  73. package/dist/output-gateway/routers/index.js.map +1 -1
  74. package/dist/output-gateway/routers/v3/V3ParkingSourcesRouter.d.ts +3 -0
  75. package/dist/output-gateway/routers/v3/V3ParkingSourcesRouter.js +23 -0
  76. package/dist/output-gateway/routers/v3/V3ParkingSourcesRouter.js.map +1 -0
  77. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js +2 -0
  78. package/dist/schema-definitions/datasources/InputParkingSourceSchema.js.map +1 -1
  79. package/dist/schema-definitions/datasources/iptoict/IptOictParkingProhibitionsSchema.d.ts +1 -1
  80. package/dist/schema-definitions/datasources/iptoict/IptOictParkingProhibitionsSchema.js +2 -2
  81. package/dist/schema-definitions/datasources/iptoict/IptOictParkingProhibitionsSchema.js.map +1 -1
  82. package/dist/schema-definitions/models/ParkingSourcesModel.d.ts +2 -0
  83. package/dist/schema-definitions/models/ParkingSourcesModel.js +2 -0
  84. package/dist/schema-definitions/models/ParkingSourcesModel.js.map +1 -1
  85. package/dist/schema-definitions/models/interfaces/IParkingSource.d.ts +2 -0
  86. package/docs/implementation-documentation.md +25 -3
  87. package/docs/openapi-admin-input.yaml +35 -0
  88. package/docs/openapi-output.yaml +123 -0
  89. package/package.json +2 -2
@@ -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;QAyB7C,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;QAvBE,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,+BAA+B,CAAC,CAAC,CAAC;QAC1G,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,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC3G,CAAC;;AAzBL,8CA+BC;AA9BmB,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;QA0B7C,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;QAxBE,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,mCAAmC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1G,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,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC3G,CAAC;;AA1BL,8CAgCC;AA/BmB,4BAAU,GAAG,oCAAwB,AAA3B,CAA4B"}
@@ -10,6 +10,7 @@ declare class ParkingSourceReservation extends ParkingSourcePayment implements I
10
10
  }
11
11
  export declare class UpdateParkingSourceValidationSchema implements IParkingSource {
12
12
  source: string;
13
+ name: string | null;
13
14
  open_data: boolean;
14
15
  api_v3_allowed: boolean;
15
16
  legacy_api_allowed: boolean;
@@ -20,5 +21,6 @@ export declare class UpdateParkingSourceValidationSchema implements IParkingSour
20
21
  datasource_locations: string | null;
21
22
  datasource_payments: string | null;
22
23
  datasource_entrances: string | null;
24
+ datasource_prohibitions: string | null;
23
25
  }
24
26
  export {};
@@ -53,6 +53,12 @@ __decorate([
53
53
  (0, class_validator_1.IsNotEmpty)(),
54
54
  __metadata("design:type", String)
55
55
  ], UpdateParkingSourceValidationSchema.prototype, "source", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsString)(),
58
+ (0, class_validator_1.IsNotEmpty)(),
59
+ (0, class_validator_1.ValidateIf)((_, value) => value !== null),
60
+ __metadata("design:type", Object)
61
+ ], UpdateParkingSourceValidationSchema.prototype, "name", void 0);
56
62
  __decorate([
57
63
  (0, class_validator_1.IsBoolean)(),
58
64
  __metadata("design:type", Boolean)
@@ -100,4 +106,9 @@ __decorate([
100
106
  (0, class_validator_1.IsUrl)(),
101
107
  __metadata("design:type", Object)
102
108
  ], UpdateParkingSourceValidationSchema.prototype, "datasource_entrances", void 0);
109
+ __decorate([
110
+ (0, class_validator_1.IsOptional)(),
111
+ (0, class_validator_1.IsUrl)(),
112
+ __metadata("design:type", Object)
113
+ ], UpdateParkingSourceValidationSchema.prototype, "datasource_prohibitions", void 0);
103
114
  //# sourceMappingURL=ParkingSourceSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingSourceSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/ParkingSourceSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAQmD;AAGnD,MAAM,oBAAoB;CAoBzB;AAhBG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;qDACjB;AAKxB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;yDACb;AAK5B;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;qDACjB;AAKxB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;2DACX;AAGlC,MAAM,wBAAyB,SAAQ,oBAAoB;CAK1D;AADG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;sDACpB;AAGzB,MAAa,mCAAmC;CAyC/C;AAzCD,kFAyCC;AAtCG;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mEACG;AAGhB;IADC,IAAA,2BAAS,GAAE;;sEACQ;AAGpB;IADC,IAAA,2BAAS,GAAE;;2EACa;AAGzB;IADC,IAAA,2BAAS,GAAE;;+EACiB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oEAC2B;AAItC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACmC;AAI9C;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oEACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;+EAC2B;AAInC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;iFAC6B;AAIrC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;gFAC4B;AAIpC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;iFAC6B"}
1
+ {"version":3,"file":"ParkingSourceSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/ParkingSourceSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAQmD;AAGnD,MAAM,oBAAoB;CAoBzB;AAhBG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;qDACjB;AAKxB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;yDACb;AAK5B;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;qDACjB;AAKxB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;2DACX;AAGlC,MAAM,wBAAyB,SAAQ,oBAAoB;CAK1D;AADG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;sDACpB;AAGzB,MAAa,mCAAmC;CAkD/C;AAlDD,kFAkDC;AA/CG;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mEACG;AAKhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;;iEACpB;AAGrB;IADC,IAAA,2BAAS,GAAE;;sEACQ;AAGpB;IADC,IAAA,2BAAS,GAAE;;2EACa;AAGzB;IADC,IAAA,2BAAS,GAAE;;+EACiB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oEAC2B;AAItC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACmC;AAI9C;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oEACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;+EAC2B;AAInC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;iFAC6B;AAIrC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;gFAC4B;AAIpC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;iFAC6B;AAIrC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;;oFACgC"}
@@ -0,0 +1,10 @@
1
+ import { AbstractEmptyTask, IConfiguration } from "@golemio/core/dist/integration-engine";
2
+ import { CachedParkingSourcesRepository } from "../../../helpers/data-access/CachedParkingSourcesRepository";
3
+ export declare class GenerateIptOictProhibitionsJobsTask extends AbstractEmptyTask {
4
+ private config;
5
+ private cachedParkingSourcesRepository;
6
+ readonly queueName = "generateIptOictProhibitionsJobs";
7
+ readonly queueTtl: number;
8
+ constructor(config: IConfiguration, cachedParkingSourcesRepository: CachedParkingSourcesRepository);
9
+ execute(): Promise<void>;
10
+ }
@@ -0,0 +1,57 @@
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.GenerateIptOictProhibitionsJobsTask = void 0;
25
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
26
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
27
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
28
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
29
+ const CachedParkingSourcesRepository_1 = require("../../../helpers/data-access/CachedParkingSourcesRepository");
30
+ const constants_1 = require("../constants");
31
+ let GenerateIptOictProhibitionsJobsTask = exports.GenerateIptOictProhibitionsJobsTask = class GenerateIptOictProhibitionsJobsTask extends integration_engine_1.AbstractEmptyTask {
32
+ constructor(config, cachedParkingSourcesRepository) {
33
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
34
+ this.config = config;
35
+ this.cachedParkingSourcesRepository = cachedParkingSourcesRepository;
36
+ this.queueName = "generateIptOictProhibitionsJobs";
37
+ this.queueTtl = 60 * 60 * 1000; // 1 hour
38
+ }
39
+ execute() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const sources = yield this.cachedParkingSourcesRepository.getProhibitionsDataSourceSources({
42
+ isRestrictedToOpenData: false,
43
+ });
44
+ for (const source of sources) {
45
+ const data = { source };
46
+ yield integration_engine_1.QueueManager.sendMessageToExchange(this.config.RABBIT_EXCHANGE_NAME + "." + constants_1.NEW_PARKINGS_WORKER_NAME.toLowerCase(), "saveIptOictProhibitionsDataTask", data);
47
+ }
48
+ });
49
+ }
50
+ };
51
+ exports.GenerateIptOictProhibitionsJobsTask = GenerateIptOictProhibitionsJobsTask = __decorate([
52
+ (0, tsyringe_1.injectable)(),
53
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
54
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository)),
55
+ __metadata("design:paramtypes", [Object, CachedParkingSourcesRepository_1.CachedParkingSourcesRepository])
56
+ ], GenerateIptOictProhibitionsJobsTask);
57
+ //# sourceMappingURL=GenerateIptOictProhibitionsJobsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateIptOictProhibitionsJobsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/GenerateIptOictProhibitionsJobsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAAwG;AACxG,iEAAwE;AACxE,mEAA2E;AAC3E,yEAAoE;AACpE,gHAAqG;AACrG,4CAAiE;AAI1D,IAAM,mCAAmC,iDAAzC,MAAM,mCAAoC,SAAQ,sCAAiB;IAItE,YACmC,MAA8B,EAE7D,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJO,WAAM,GAAN,MAAM,CAAgB;QAErD,mCAA8B,GAA9B,8BAA8B,CAAgC;QAN1D,cAAS,GAAG,iCAAiC,CAAC;QAC9C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;IAQpD,CAAC;IAEY,OAAO;;YAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,gCAAgC,CAAC;gBACvF,sBAAsB,EAAE,KAAK;aAChC,CAAC,CAAC;YAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,CAAC;gBAC/C,MAAM,iCAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,oCAAwB,CAAC,WAAW,EAAE,EAC/E,iCAAiC,EACjC,IAAI,CACP,CAAC;aACL;QACL,CAAC;KAAA;CACJ,CAAA;8CA1BY,mCAAmC;IAD/C,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;6CACpB,+DAA8B;GAPjE,mCAAmC,CA0B/C"}
@@ -58,10 +58,11 @@ let SaveIptOictEntrancesDataTask = exports.SaveIptOictEntrancesDataTask = class
58
58
  }
59
59
  updateEntrancesData(source, sourceUrl) {
60
60
  return __awaiter(this, void 0, void 0, function* () {
61
+ const processingDate = new Date();
61
62
  const entrances = yield this.datasource.getEntrancesData(sourceUrl);
62
63
  const transformation = new IptOictEntrancesTransformation_1.IptOictEntrancesTransformation(source);
63
64
  const transformedData = transformation.transformArray(entrances);
64
- yield this.parkingEntrancesRepository.mergeEntrances(transformedData, [source]);
65
+ yield this.parkingEntrancesRepository.mergeEntrances(transformedData, [source], processingDate);
65
66
  });
66
67
  }
67
68
  getSourceConfig(source) {
@@ -1 +1 @@
1
- {"version":3,"file":"SaveIptOictEntrancesDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictEntrancesDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,8FAAyF;AACzF,iEAAwE;AACxE,4CAAwD;AACxD,4EAAmH;AACnH,6EAA+G;AAC/G,gHAAqG;AACrG,8EAAqE;AACrE,iHAA4G;AAC5G,qGAAgG;AAGzF,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,iCAAmC;IAKjF,YAC6D,UAA8C,EAEvG,0BAA8D,EAE9D,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QANiC,eAAU,GAAV,UAAU,CAA4B;QAE/F,+BAA0B,GAA1B,0BAA0B,CAA4B;QAEtD,mCAA8B,GAA9B,8BAA8B,CAAgC;QAT1D,cAAS,GAAG,0BAA0B,CAAC;QACvC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;QACnC,WAAM,GAAG,uDAA+B,CAAC;IAUzD,CAAC;IAEe,OAAO,CAAC,IAA2B;;YAC/C,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;aACpF;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;QACL,CAAC;KAAA;IAEa,mBAAmB,CAAC,MAAc,EAAE,SAAiB;;YAC/D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,+DAA8B,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,CAAC;KAAA;IAEa,eAAe,CAAC,MAAc;;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,mCAAmC,CAAC;gBAC1F,sBAAsB,EAAE,KAAK;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,MAAM,IAAI,6BAAY,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5F;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,gCAAe,CAAC,yBAAyB,MAAM,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1G;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ,CAAA;uCAjDY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IAEvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCAHiB,uDAA0B;QAEnE,uDAA0B;QAEtB,+DAA8B;GAVjE,4BAA4B,CAiDxC"}
1
+ {"version":3,"file":"SaveIptOictEntrancesDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictEntrancesDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,8FAAyF;AACzF,iEAAwE;AACxE,4CAAwD;AACxD,4EAAmH;AACnH,6EAA+G;AAC/G,gHAAqG;AACrG,8EAAqE;AACrE,iHAA4G;AAC5G,qGAAgG;AAGzF,IAAM,4BAA4B,0CAAlC,MAAM,4BAA6B,SAAQ,iCAAmC;IAKjF,YAC6D,UAA8C,EAEvG,0BAA8D,EAE9D,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QANiC,eAAU,GAAV,UAAU,CAA4B;QAE/F,+BAA0B,GAA1B,0BAA0B,CAA4B;QAEtD,mCAA8B,GAA9B,8BAA8B,CAAgC;QAT1D,cAAS,GAAG,0BAA0B,CAAC;QACvC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;QACnC,WAAM,GAAG,uDAA+B,CAAC;IAUzD,CAAC;IAEe,OAAO,CAAC,IAA2B;;YAC/C,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;aACpF;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;QACL,CAAC;KAAA;IAEa,mBAAmB,CAAC,MAAc,EAAE,SAAiB;;YAC/D,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,+DAA8B,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QACpG,CAAC;KAAA;IAEa,eAAe,CAAC,MAAc;;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,mCAAmC,CAAC;gBAC1F,sBAAsB,EAAE,KAAK;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,MAAM,IAAI,6BAAY,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5F;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,gCAAe,CAAC,yBAAyB,MAAM,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1G;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ,CAAA;uCAlDY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IAEvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCAHiB,uDAA0B;QAEnE,uDAA0B;QAEtB,+DAA8B;GAVjE,4BAA4B,CAkDxC"}
@@ -65,6 +65,7 @@ let SaveIptOictParkingDataTask = exports.SaveIptOictParkingDataTask = class Save
65
65
  }
66
66
  updateParkingData(source, sourceUrl) {
67
67
  return __awaiter(this, void 0, void 0, function* () {
68
+ const processingDate = new Date();
68
69
  const data = yield this.iptOictDataSource.getParkingData(sourceUrl);
69
70
  const transformation = new IptOictParkingTransformation_1.IptOictParkingTransformation(source, new Date());
70
71
  const transformedData = transformation.transformArray(data);
@@ -73,7 +74,7 @@ let SaveIptOictParkingDataTask = exports.SaveIptOictParkingDataTask = class Save
73
74
  const openingHours = data
74
75
  .flatMap((parking) => openingHoursTransformation.transformElement(parking))
75
76
  .filter((oh) => oh.periods_of_time !== null);
76
- yield this.openHoursRepository.mergeOpenHours(openingHours, [source]);
77
+ yield this.openHoursRepository.mergeOpenHours(openingHours, [source], processingDate);
77
78
  });
78
79
  }
79
80
  updateParkingLocations(source, sourceUrl) {
@@ -1 +1 @@
1
- {"version":3,"file":"SaveIptOictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictParkingDataTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SaveIptOictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictParkingDataTask.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  import { IptOictParkingsProhibitionsDataSource } from "../../datasources/iptoict/IptOictParkingsProhibitionsDataSource";
2
2
  import { ParkingsProhibitionsRepository } from "../../repositories/ParkingsProhibitionsRepository";
3
- import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
4
- export declare class SaveIptOictProhibitionsDataTask extends AbstractEmptyTask {
3
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
4
+ import { IIptOictTaskTypeInput, IptOictTaskTypeValidationSchema } from "../schemas/IptOictTaskTypeSchema";
5
+ import { CachedParkingSourcesRepository } from "../../../helpers/data-access/CachedParkingSourcesRepository";
6
+ export declare class SaveIptOictProhibitionsDataTask extends AbstractTask<IIptOictTaskTypeInput> {
5
7
  private iptOictParkingsProhibitionsDataSource;
6
8
  private parkingsProhibitionsRepository;
9
+ private cachedParkingSourcesRepository;
7
10
  readonly queueName = "saveIptOictProhibitionsDataTask";
8
11
  readonly queueTtl: number;
9
- constructor(iptOictParkingsProhibitionsDataSource: IptOictParkingsProhibitionsDataSource, parkingsProhibitionsRepository: ParkingsProhibitionsRepository);
10
- execute(): Promise<void>;
12
+ readonly schema: typeof IptOictTaskTypeValidationSchema;
13
+ constructor(iptOictParkingsProhibitionsDataSource: IptOictParkingsProhibitionsDataSource, parkingsProhibitionsRepository: ParkingsProhibitionsRepository, cachedParkingSourcesRepository: CachedParkingSourcesRepository);
14
+ execute(taskInputData: IIptOictTaskTypeInput): Promise<void>;
15
+ private updateProhibitionsData;
16
+ private getSourceConfig;
11
17
  }
@@ -30,35 +30,62 @@ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
30
30
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
31
31
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
32
32
  const constants_1 = require("../constants");
33
- let SaveIptOictProhibitionsDataTask = exports.SaveIptOictProhibitionsDataTask = class SaveIptOictProhibitionsDataTask extends integration_engine_1.AbstractEmptyTask {
34
- constructor(iptOictParkingsProhibitionsDataSource, parkingsProhibitionsRepository) {
33
+ const IptOictTaskTypeSchema_1 = require("../schemas/IptOictTaskTypeSchema");
34
+ const CachedParkingSourcesRepository_1 = require("../../../helpers/data-access/CachedParkingSourcesRepository");
35
+ let SaveIptOictProhibitionsDataTask = exports.SaveIptOictProhibitionsDataTask = class SaveIptOictProhibitionsDataTask extends integration_engine_1.AbstractTask {
36
+ constructor(iptOictParkingsProhibitionsDataSource, parkingsProhibitionsRepository, cachedParkingSourcesRepository) {
35
37
  super(constants_1.NEW_PARKINGS_WORKER_NAME);
36
38
  this.iptOictParkingsProhibitionsDataSource = iptOictParkingsProhibitionsDataSource;
37
39
  this.parkingsProhibitionsRepository = parkingsProhibitionsRepository;
40
+ this.cachedParkingSourcesRepository = cachedParkingSourcesRepository;
38
41
  this.queueName = "saveIptOictProhibitionsDataTask";
39
42
  this.queueTtl = 60 * 60 * 1000; // 1 hour
43
+ this.schema = IptOictTaskTypeSchema_1.IptOictTaskTypeValidationSchema;
40
44
  }
41
- execute() {
45
+ execute(taskInputData) {
42
46
  return __awaiter(this, void 0, void 0, function* () {
43
47
  try {
44
- const data = yield this.iptOictParkingsProhibitionsDataSource.getParkingsProhibitionsData();
45
- const transformedData = new IptOictParkingProhibitionsTransformation_1.IptOictParkingProhibitionsTransformation().transformArray(data);
46
- yield this.parkingsProhibitionsRepository.bulkSave(transformedData);
48
+ const jobConfig = yield this.getSourceConfig(taskInputData.source);
49
+ yield this.updateProhibitionsData(jobConfig.source, jobConfig.datasource_prohibitions);
47
50
  }
48
51
  catch (err) {
49
52
  if (err instanceof golemio_errors_1.AbstractGolemioError) {
50
53
  throw err;
51
54
  }
52
- throw new golemio_errors_1.GeneralError("Error while saving IPT prohibitions data", this.constructor.name, err);
55
+ throw new golemio_errors_1.GeneralError("Error while saving parking prohibitions data", this.constructor.name, err);
53
56
  }
54
57
  });
55
58
  }
59
+ updateProhibitionsData(source, sourceUrl) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ const data = yield this.iptOictParkingsProhibitionsDataSource.getParkingsProhibitionsData(sourceUrl);
62
+ const transformedData = new IptOictParkingProhibitionsTransformation_1.IptOictParkingProhibitionsTransformation(source).transformArray(data);
63
+ yield this.parkingsProhibitionsRepository.bulkSave(transformedData);
64
+ });
65
+ }
66
+ getSourceConfig(source) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const sources = yield this.cachedParkingSourcesRepository.getParkingProhibitionsDataSourceConfig({
69
+ isRestrictedToOpenData: false,
70
+ });
71
+ if (!sources.length) {
72
+ throw new golemio_errors_1.GeneralError(`No sources found for IPT prohibitions task`, this.constructor.name);
73
+ }
74
+ const config = sources.find((el) => el.source === source);
75
+ if (!config) {
76
+ throw new golemio_errors_1.ValidationError(`Invalid source value: ${source}, must use one of: [${sources.join(", ")}]`);
77
+ }
78
+ return config;
79
+ });
80
+ }
56
81
  };
57
82
  exports.SaveIptOictProhibitionsDataTask = SaveIptOictProhibitionsDataTask = __decorate([
58
83
  (0, tsyringe_1.injectable)(),
59
84
  __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.IptOictParkingsProhibitionsDataSource)),
60
85
  __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsProhibitionsRepository)),
86
+ __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository)),
61
87
  __metadata("design:paramtypes", [IptOictParkingsProhibitionsDataSource_1.IptOictParkingsProhibitionsDataSource,
62
- ParkingsProhibitionsRepository_1.ParkingsProhibitionsRepository])
88
+ ParkingsProhibitionsRepository_1.ParkingsProhibitionsRepository,
89
+ CachedParkingSourcesRepository_1.CachedParkingSourcesRepository])
63
90
  ], SaveIptOictProhibitionsDataTask);
64
91
  //# sourceMappingURL=SaveIptOictProhibitionsDataTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveIptOictProhibitionsDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictProhibitionsDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2HAAsH;AACtH,yEAAoE;AACpE,sGAAiG;AACjG,6HAAwH;AAExH,8EAA0E;AAC1E,6EAA8F;AAC9F,iEAAwE;AACxE,4CAAwD;AAGjD,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,sCAAiB;IAIlE,YAEI,qCAAoF,EAEpF,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJxB,0CAAqC,GAArC,qCAAqC,CAAuC;QAE5E,mCAA8B,GAA9B,8BAA8B,CAAgC;QAP1D,cAAS,GAAG,iCAAiC,CAAC;QAC9C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;IASpD,CAAC;IAEY,OAAO;;YAChB,IAAI;gBACA,MAAM,IAAI,GACN,MAAM,IAAI,CAAC,qCAAqC,CAAC,2BAA2B,EAAE,CAAC;gBACnF,MAAM,eAAe,GAAG,IAAI,mFAAwC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5F,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBACD,MAAM,IAAI,6BAAY,CAAC,0CAA0C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAClG;QACL,CAAC;KAAA;CACJ,CAAA;0CA1BY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCADb,6EAAqC;QAE5C,+DAA8B;GARjE,+BAA+B,CA0B3C"}
1
+ {"version":3,"file":"SaveIptOictProhibitionsDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictProhibitionsDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2HAAsH;AACtH,yEAAoE;AACpE,sGAAiG;AACjG,6HAAwH;AACxH,8EAAqE;AACrE,6EAA+G;AAC/G,iEAAwE;AACxE,4CAAwD;AACxD,4EAAmH;AACnH,gHAAqG;AAG9F,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,iCAAmC;IAKpF,YAEI,qCAAoF,EAEpF,8BAAsE,EAEtE,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QANxB,0CAAqC,GAArC,qCAAqC,CAAuC;QAE5E,mCAA8B,GAA9B,8BAA8B,CAAgC;QAE9D,mCAA8B,GAA9B,8BAA8B,CAAgC;QAV1D,cAAS,GAAG,iCAAiC,CAAC;QAC9C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACpC,WAAM,GAAG,uDAA+B,CAAC;IAWzD,CAAC;IAEY,OAAO,CAAC,aAAoC;;YACrD,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;aAC1F;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBACD,MAAM,IAAI,6BAAY,CAAC,8CAA8C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtG;QACL,CAAC;KAAA;IAEa,sBAAsB,CAAC,MAAc,EAAE,SAAiB;;YAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qCAAqC,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YACrG,MAAM,eAAe,GAAG,IAAI,mFAAwC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;KAAA;IAEa,eAAe,CAAC,MAAc;;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,sCAAsC,CAAC;gBAC7F,sBAAsB,EAAE,KAAK;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/F;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,gCAAe,CAAC,yBAAyB,MAAM,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1G;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ,CAAA;0CAhDY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qCAAqC,CAAC,CAAA;IAElE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;IAE3D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCAHb,6EAAqC;QAE5C,+DAA8B;QAE9B,+DAA8B;GAXjE,+BAA+B,CAgD3C"}
@@ -55,6 +55,7 @@ let SaveOsmDataTask = exports.SaveOsmDataTask = class SaveOsmDataTask extends Ab
55
55
  }
56
56
  updateParkingsData() {
57
57
  return __awaiter(this, void 0, void 0, function* () {
58
+ const processingDate = new Date();
58
59
  const parkings = yield this.osmDataSource.getParkingsData();
59
60
  const transformation = new OsmParkingTransformation_1.OsmParkingTransformation(new Date());
60
61
  const transformedParkings = transformation.transformArray(parkings);
@@ -62,7 +63,7 @@ let SaveOsmDataTask = exports.SaveOsmDataTask = class SaveOsmDataTask extends Ab
62
63
  const openingHours = this.osmOpeningHoursTransformation
63
64
  .transformArray(parkings)
64
65
  .filter((oh) => oh.periods_of_time !== null);
65
- yield this.openHoursRepository.mergeOpenHours(openingHours, [SourceEnum_1.SourceEnum.OSM]);
66
+ yield this.openHoursRepository.mergeOpenHours(openingHours, [SourceEnum_1.SourceEnum.OSM], processingDate);
66
67
  });
67
68
  }
68
69
  updateParkingsLocationData() {
@@ -1 +1 @@
1
- {"version":3,"file":"SaveOsmDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAkE;AAClE,yEAAoE;AACpE,gFAA2E;AAC3E,8FAAyF;AACzF,gGAA2F;AAC3F,2GAAsG;AACtG,2GAAsG;AACtG,iGAA4F;AAC5F,wEAAqE;AAErE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,sEAA2D;AAGpD,IAAM,eAAe,6BAArB,MAAM,eAAgB,SAAQ,qCAAiB;IAIlD,YACgD,aAAoC,EACtB,0BAA+D,EAChE,yBAA6D,EAEtH,6BAAoE,EAClB,mBAAgD,EACxE,MAAuB;QAEjD,KAAK,CAAC,oCAAwB,CAAC,CAAC;QARoB,kBAAa,GAAb,aAAa,CAAe;QACd,+BAA0B,GAA1B,0BAA0B,CAA6B;QACxD,8BAAyB,GAAzB,yBAAyB,CAA4B;QAE9G,kCAA6B,GAA7B,6BAA6B,CAA+B;QACV,wBAAmB,GAAnB,mBAAmB,CAAqB;QAChE,WAAM,GAAN,MAAM,CAAS;QAVrC,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAYnD,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC5C,CAAC;KAAA;IAEa,kBAAkB;;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,mDAAwB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B;iBAClD,cAAc,CAAC,QAAQ,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,uBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;KAAA;IAEa,0BAA0B;;YACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;YAC5E,MAAM,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;YAC3D,MAAM,2BAA2B,GAAG,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACpF,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC/E,CAAC;KAAA;CACJ,CAAA;0BAvCY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,aAAa,CAAC,CAAA;IAC1C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,2BAA2B,CAAC,CAAA;IACxD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAN0C,6BAAa;QACc,yDAA2B;QAC7B,uDAA0B;QAE/E,6DAA6B;QACW,yCAAmB;GAV7F,eAAe,CAuC3B"}
1
+ {"version":3,"file":"SaveOsmDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAkE;AAClE,yEAAoE;AACpE,gFAA2E;AAC3E,8FAAyF;AACzF,gGAA2F;AAC3F,2GAAsG;AACtG,2GAAsG;AACtG,iGAA4F;AAC5F,wEAAqE;AAErE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,sEAA2D;AAGpD,IAAM,eAAe,6BAArB,MAAM,eAAgB,SAAQ,qCAAiB;IAIlD,YACgD,aAAoC,EACtB,0BAA+D,EAChE,yBAA6D,EAEtH,6BAAoE,EAClB,mBAAgD,EACxE,MAAuB;QAEjD,KAAK,CAAC,oCAAwB,CAAC,CAAC;QARoB,kBAAa,GAAb,aAAa,CAAe;QACd,+BAA0B,GAA1B,0BAA0B,CAA6B;QACxD,8BAAyB,GAAzB,yBAAyB,CAA4B;QAE9G,kCAA6B,GAA7B,6BAA6B,CAA+B;QACV,wBAAmB,GAAnB,mBAAmB,CAAqB;QAChE,WAAM,GAAN,MAAM,CAAS;QAVrC,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAYnD,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC5C,CAAC;KAAA;IAEa,kBAAkB;;YAC5B,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,mDAAwB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B;iBAClD,cAAc,CAAC,QAAQ,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,uBAAU,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAClG,CAAC;KAAA;IAEa,0BAA0B;;YACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;YAC5E,MAAM,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;YAC3D,MAAM,2BAA2B,GAAG,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACpF,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC/E,CAAC;KAAA;CACJ,CAAA;0BAxCY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,aAAa,CAAC,CAAA;IAC1C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,2BAA2B,CAAC,CAAA;IACxD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAN0C,6BAAa;QACc,yDAA2B;QAC7B,uDAA0B;QAE/E,6DAA6B;QACW,yCAAmB;GAV7F,eAAe,CAwC3B"}
@@ -40,10 +40,11 @@ let SaveOsmEntrancesDataTask = exports.SaveOsmEntrancesDataTask = class SaveOsmE
40
40
  }
41
41
  execute() {
42
42
  return __awaiter(this, void 0, void 0, function* () {
43
+ const processingDate = new Date();
43
44
  const entrances = yield this.osmEntrancesDataSource.getOsmEntrances();
44
45
  const transformation = new OsmEntrancesTransformation_1.OsmEntrancesTransformation();
45
46
  const transformedEntrances = transformation.transformArray(entrances);
46
- yield this.parkingEntrancesRepository.mergeEntrances(transformedEntrances, [SourceEnum_1.SourceEnum.OSM]);
47
+ yield this.parkingEntrancesRepository.mergeEntrances(transformedEntrances, [SourceEnum_1.SourceEnum.OSM], processingDate);
47
48
  });
48
49
  }
49
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SaveOsmEntrancesDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yFAAoF;AACpF,yEAAoE;AACpE,8FAAyF;AACzF,qGAAgG;AAChG,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,sEAA2D;AAGpD,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,qCAAiB;IAI3D,YACyD,sBAAsD,EAE3G,0BAA8D;QAE9D,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJ6B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAEnG,+BAA0B,GAA1B,0BAA0B,CAA4B;QANlD,cAAS,GAAG,0BAA0B,CAAC;QACvC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAQnD,CAAC;IAEe,OAAO;;YACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,uDAA0B,EAAE,CAAC;YACxD,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,uBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjG,CAAC;KAAA;CACJ,CAAA;mCAlBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAA;IACnD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;qCAD6B,+CAAsB;QAEvE,uDAA0B;GAPzD,wBAAwB,CAkBpC"}
1
+ {"version":3,"file":"SaveOsmEntrancesDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yFAAoF;AACpF,yEAAoE;AACpE,8FAAyF;AACzF,qGAAgG;AAChG,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,sEAA2D;AAGpD,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,qCAAiB;IAI3D,YACyD,sBAAsD,EAE3G,0BAA8D;QAE9D,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJ6B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAEnG,+BAA0B,GAA1B,0BAA0B,CAA4B;QANlD,cAAS,GAAG,0BAA0B,CAAC;QACvC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAQnD,CAAC;IAEe,OAAO;;YACnB,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,uDAA0B,EAAE,CAAC;YACxD,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,uBAAU,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QACjH,CAAC;KAAA;CACJ,CAAA;mCAnBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAA;IACnD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;qCAD6B,+CAAsB;QAEvE,uDAA0B;GAPzD,wBAAwB,CAmBpC"}
@@ -22,11 +22,12 @@ class SaveTskParkingZonesTariffsTask extends AbstractEmptyTask_1.AbstractEmptyTa
22
22
  }
23
23
  execute() {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
+ const processingDate = new Date();
25
26
  const data = yield this.dataSource.getAll();
26
27
  const transformation = new TskParkingZonesTariffsTransformation_1.TskParkingZonesTariffsTransformation(new Date());
27
28
  const transformedData = transformation.transformArray(data);
28
29
  const flatTransformedData = transformedData.flat();
29
- yield this.repository.merge(flatTransformedData, SourceEnum_1.SourceEnum.TSK_V2);
30
+ yield this.repository.merge(flatTransformedData, SourceEnum_1.SourceEnum.TSK_V2, processingDate);
30
31
  });
31
32
  }
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SaveTskParkingZonesTariffsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAA2D;AAC3D,uGAAoG;AAGpG,qHAAgH;AAIhH,MAAa,8BAA+B,SAAQ,qCAAiB;IAGjE,YACI,WAAmB,EACX,UAA+C,EAC/C,UAAoC;QAE5C,KAAK,CAAC,WAAW,CAAC,CAAC;QAHX,eAAU,GAAV,UAAU,CAAqC;QAC/C,eAAU,GAAV,UAAU,CAA0B;QALzC,cAAS,GAAW,gBAAgB,CAAC;IAQ5C,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,GAA4B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrE,MAAM,cAAc,GAAG,IAAI,2EAAoC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAuB,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,mBAAmB,GAAqB,eAAe,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,uBAAU,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
1
+ {"version":3,"file":"SaveTskParkingZonesTariffsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAA2D;AAC3D,uGAAoG;AAGpG,qHAAgH;AAIhH,MAAa,8BAA+B,SAAQ,qCAAiB;IAGjE,YACI,WAAmB,EACX,UAA+C,EAC/C,UAAoC;QAE5C,KAAK,CAAC,WAAW,CAAC,CAAC;QAHX,eAAU,GAAV,UAAU,CAAqC;QAC/C,eAAU,GAAV,UAAU,CAA0B;QALzC,cAAS,GAAW,gBAAgB,CAAC;IAQ5C,CAAC;IAEe,OAAO;;YACnB,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAA4B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrE,MAAM,cAAc,GAAG,IAAI,2EAAoC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAuB,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,mBAAmB,GAAqB,eAAe,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,uBAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACxF,CAAC;KAAA;CACJ;AAnBD,wEAmBC"}
@@ -0,0 +1,8 @@
1
+ import { ParkingSourcesRepository } from "../../data-access/ParkingSourcesRepository";
2
+ import { NextFunction, Request, Response } from "@golemio/core/dist/shared/express";
3
+ import { AbstractV3ParkingController } from "./AbstractV3ParkingController";
4
+ export declare class V3ParkingSourcesController extends AbstractV3ParkingController {
5
+ private repository;
6
+ constructor(repository: ParkingSourcesRepository);
7
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
8
+ }
@@ -0,0 +1,53 @@
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.V3ParkingSourcesController = void 0;
25
+ const ParkingSourcesRepository_1 = require("../../data-access/ParkingSourcesRepository");
26
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
27
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
+ const AbstractV3ParkingController_1 = require("./AbstractV3ParkingController");
29
+ let V3ParkingSourcesController = exports.V3ParkingSourcesController = class V3ParkingSourcesController extends AbstractV3ParkingController_1.AbstractV3ParkingController {
30
+ constructor(repository) {
31
+ super();
32
+ this.repository = repository;
33
+ this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const { isRestrictedToOpenData, allowedSources } = yield this.getAllowedScope(req);
36
+ const result = yield this.repository.GetAll({
37
+ primarySource: allowedSources,
38
+ isRestrictedToOpenData,
39
+ });
40
+ res.json(result);
41
+ }
42
+ catch (err) {
43
+ next(err);
44
+ }
45
+ });
46
+ }
47
+ };
48
+ exports.V3ParkingSourcesController = V3ParkingSourcesController = __decorate([
49
+ (0, tsyringe_1.injectable)(),
50
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingSourcesRepository)),
51
+ __metadata("design:paramtypes", [ParkingSourcesRepository_1.ParkingSourcesRepository])
52
+ ], V3ParkingSourcesController);
53
+ //# sourceMappingURL=V3ParkingSourcesController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V3ParkingSourcesController.js","sourceRoot":"","sources":["../../../../src/output-gateway/controllers/v3/V3ParkingSourcesController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yFAAoF;AACpF,yEAAoE;AAEpE,iEAAwE;AACxE,+EAA4E;AAGrE,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,yDAA2B;IACvE,YAAmE,UAA4C;QAC3G,KAAK,EAAE,CAAC;QAD+D,eAAU,GAAV,UAAU,CAA0B;QAIxG,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACxC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB;iBACzB,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAbF,CAAC;CAcJ,CAAA;qCAjBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,wBAAwB,CAAC,CAAA;qCAAqB,mDAAwB;GADtG,0BAA0B,CAiBtC"}
@@ -0,0 +1,8 @@
1
+ import { IParkingSourcesParams } from "../helpers/params/IParkingSourcesParams";
2
+ import { IParkingSource } from "../../schema-definitions/models/interfaces/IParkingSource";
3
+ import { SequelizeModel } from "@golemio/core/dist/output-gateway/models/SequelizeModel";
4
+ export declare class ParkingSourcesRepository extends SequelizeModel {
5
+ constructor();
6
+ GetAll(params: IParkingSourcesParams): Promise<IParkingSource[]>;
7
+ GetOne(): never;
8
+ }
@@ -0,0 +1,65 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.ParkingSourcesRepository = void 0;
22
+ const _sch_1 = require("../../schema-definitions");
23
+ const ParkingSourcesModel_1 = require("../../schema-definitions/models/ParkingSourcesModel");
24
+ const SequelizeModel_1 = require("@golemio/core/dist/output-gateway/models/SequelizeModel");
25
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
26
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
28
+ let ParkingSourcesRepository = exports.ParkingSourcesRepository = class ParkingSourcesRepository extends SequelizeModel_1.SequelizeModel {
29
+ constructor() {
30
+ super("OGParkingSourcesRepository", ParkingSourcesModel_1.ParkingSourcesModel.tableName, ParkingSourcesModel_1.ParkingSourcesModel.attributeModel, {
31
+ schema: _sch_1.Parkings.pgSchema,
32
+ });
33
+ }
34
+ GetAll(params) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ try {
37
+ let where = {};
38
+ let primarySources = [];
39
+ if (params.primarySource) {
40
+ primarySources = params.primarySource;
41
+ }
42
+ else {
43
+ throw new golemio_errors_1.GeneralError("List of sources must be provided! ", this.name, undefined, 500);
44
+ }
45
+ where.source = { [sequelize_1.Op.in]: primarySources };
46
+ return yield this.sequelizeModel.findAll({
47
+ raw: true,
48
+ where,
49
+ order: [["source", "ASC"]],
50
+ });
51
+ }
52
+ catch (err) {
53
+ throw new golemio_errors_1.GeneralError("Database error ~ GetAll", this.name, err, 500);
54
+ }
55
+ });
56
+ }
57
+ GetOne() {
58
+ throw new Error("Not implemented");
59
+ }
60
+ };
61
+ exports.ParkingSourcesRepository = ParkingSourcesRepository = __decorate([
62
+ (0, tsyringe_1.injectable)(),
63
+ __metadata("design:paramtypes", [])
64
+ ], ParkingSourcesRepository);
65
+ //# sourceMappingURL=ParkingSourcesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingSourcesRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/ParkingSourcesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,mDAAgC;AAGhC,6FAAsE;AACtE,4FAAyF;AACzF,iEAAgE;AAChE,6EAAwE;AACxE,mEAAuE;AAGhE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,+BAAc;IACxD;QACI,KAAK,CAAC,4BAA4B,EAAE,yCAAmB,CAAC,SAAS,EAAE,yCAAmB,CAAC,cAAc,EAAE;YACnG,MAAM,EAAE,eAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACP,CAAC;IAEY,MAAM,CAAC,MAA6B;;YAC7C,IAAI;gBACA,IAAI,KAAK,GAA2B,EAAE,CAAC;gBACvC,IAAI,cAAc,GAAa,EAAE,CAAC;gBAElC,IAAI,MAAM,CAAC,aAAa,EAAE;oBACtB,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;iBACzC;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBAC3F;gBAED,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;gBAE3C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,GAAG,EAAE,IAAI;oBACT,KAAK;oBACL,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC7B,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC1E;QACL,CAAC;KAAA;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;mCAjCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;;GACA,wBAAwB,CAiCpC"}
@@ -0,0 +1,4 @@
1
+ export interface IParkingSourcesParams {
2
+ primarySource: string[];
3
+ isRestrictedToOpenData: boolean;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IParkingSourcesParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IParkingSourcesParams.js","sourceRoot":"","sources":["../../../../src/output-gateway/helpers/params/IParkingSourcesParams.ts"],"names":[],"mappings":""}
@@ -25,5 +25,6 @@ exports.routers = [
25
25
  routers_1.v3ParkingRouter,
26
26
  routers_1.v3ParkingTariffRouter,
27
27
  routers_1.v3ParkingMeasurementsRouter,
28
+ routers_1.v3ParkingSourcesRouter,
28
29
  ];
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAOqB;AAErB,2CAAyB;AACzB,4CAA0B;AAEb,QAAA,OAAO,GAAG;IACnB,yBAAe;IACf,yBAAe;IACf,iCAAuB;IACvB,yBAAe;IACf,+BAAqB;IACrB,qCAA2B;CAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output-gateway/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAQqB;AAErB,2CAAyB;AACzB,4CAA0B;AAEb,QAAA,OAAO,GAAG;IACnB,yBAAe;IACf,yBAAe;IACf,iCAAuB;IACvB,yBAAe;IACf,+BAAqB;IACrB,qCAA2B;IAC3B,gCAAsB;CACzB,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParkingsContainer = void 0;
4
4
  const CachedParkingSourcesRepository_1 = require("../../helpers/data-access/CachedParkingSourcesRepository");
5
5
  const V3ParkingMachinesController_1 = require("../controllers/v3/V3ParkingMachinesController");
6
+ const V3ParkingSourcesController_1 = require("../controllers/v3/V3ParkingSourcesController");
6
7
  const ParkingAverageOccupancyRepository_1 = require("../data-access/ParkingAverageOccupancyRepository");
7
8
  const ParkingEntrancesRepository_1 = require("../data-access/ParkingEntrancesRepository");
8
9
  const ParkingLatestMeasurementRepository_1 = require("../data-access/ParkingLatestMeasurementRepository");
@@ -14,6 +15,7 @@ const ParkingPaymentsRepository_1 = require("../data-access/ParkingPaymentsRepos
14
15
  const ParkingProhibitionsRepository_1 = require("../data-access/ParkingProhibitionsRepository");
15
16
  const ParkingRepository_1 = require("../data-access/ParkingRepository");
16
17
  const ParkingsFilteredRepository_1 = require("../data-access/ParkingsFilteredRepository");
18
+ const ParkingSourcesRepository_1 = require("../data-access/ParkingSourcesRepository");
17
19
  const TariffRepository_1 = require("../data-access/TariffRepository");
18
20
  const ParkingsLocationModel_1 = require("../models/ParkingsLocationModel");
19
21
  const PrimarySourceValidator_1 = require("../routers/v3/helpers/PrimarySourceValidator");
@@ -60,13 +62,16 @@ parkingsContainer
60
62
  .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingOpeningHoursRepository, ParkingOpeningHoursRepository_1.ParkingOpeningHoursRepository)
61
63
  .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingEntrancesRepository, ParkingEntrancesRepository_1.ParkingEntrancesRepository)
62
64
  .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingPaymentsRepository, ParkingPaymentsRepository_1.ParkingPaymentsRepository)
63
- .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingProhibitionsRepository, ParkingProhibitionsRepository_1.ParkingProhibitionsRepository);
65
+ .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingProhibitionsRepository, ParkingProhibitionsRepository_1.ParkingProhibitionsRepository)
66
+ .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingSourcesRepository, ParkingSourcesRepository_1.ParkingSourcesRepository);
64
67
  //#endregion
65
68
  //#region Transformations
66
69
  parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesDtoTransformation, ParkingMachinesDtoTransformation_1.ParkingMachinesDtoTransformation);
67
70
  //#endregion
68
71
  //#region Controllers
69
- parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingMachinesController, V3ParkingMachinesController_1.V3ParkingMachinesController);
72
+ parkingsContainer
73
+ .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingMachinesController, V3ParkingMachinesController_1.V3ParkingMachinesController)
74
+ .registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingSourcesController, V3ParkingSourcesController_1.V3ParkingSourcesController);
70
75
  //#endregion
71
76
  //#region Validators
72
77
  parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.PrimarySourceValidator, PrimarySourceValidator_1.PrimarySourceValidator);