@golemio/parkings 1.7.5-dev.1130337163 → 1.7.5-dev.1135066593

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 (69) hide show
  1. package/db/migrations/postgresql/20240107151449-smart4city.js +53 -0
  2. package/db/migrations/postgresql/sqls/20240107151449-smart4city-down.sql +1 -0
  3. package/db/migrations/postgresql/sqls/20240107151449-smart4city-up.sql +8 -0
  4. package/dist/integration-engine/ParkingInterface.d.ts +3 -3
  5. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +3 -1
  6. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +6 -2
  7. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -1
  8. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +3 -1
  9. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +2 -0
  10. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -1
  11. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +4 -0
  12. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js.map +1 -1
  13. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.d.ts +11 -0
  14. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js +44 -0
  15. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js.map +1 -0
  16. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.d.ts +11 -0
  17. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js +49 -0
  18. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js.map +1 -0
  19. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.d.ts +10 -0
  20. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js +52 -0
  21. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js.map +1 -0
  22. package/dist/integration-engine/ioc/Di.js +12 -0
  23. package/dist/integration-engine/ioc/Di.js.map +1 -1
  24. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +6 -0
  25. package/dist/integration-engine/ioc/ModuleContainerToken.js +8 -0
  26. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  27. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.d.ts +20 -0
  28. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.js +80 -0
  29. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.js.map +1 -0
  30. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.d.ts +10 -0
  31. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js +35 -0
  32. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js.map +1 -0
  33. package/dist/integration-engine/workers/NewParkingsWorker.d.ts +1 -1
  34. package/dist/integration-engine/workers/NewParkingsWorker.js +3 -0
  35. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  36. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.d.ts +6 -0
  37. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js +21 -0
  38. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js.map +1 -0
  39. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.d.ts +6 -0
  40. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js +21 -0
  41. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js.map +1 -0
  42. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.d.ts +17 -0
  43. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js +72 -0
  44. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js.map +1 -0
  45. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.d.ts +19 -0
  46. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.js +114 -0
  47. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.js.map +1 -0
  48. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.d.ts +12 -0
  49. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js +90 -0
  50. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js.map +1 -0
  51. package/dist/output-gateway/models/ParkingsModel.js +2 -0
  52. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  53. package/dist/schema-definitions/datasources/ParkingMeasurementsDtoSchema.js +2 -2
  54. package/dist/schema-definitions/datasources/ParkingMeasurementsDtoSchema.js.map +1 -1
  55. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.d.ts +3 -0
  56. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js +20 -0
  57. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js.map +1 -0
  58. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.d.ts +3 -0
  59. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js +22 -0
  60. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js.map +1 -0
  61. package/dist/schema-definitions/datasources/interfaces/IParkingsMeasurementDto.d.ts +2 -2
  62. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.d.ts +8 -0
  63. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js +3 -0
  64. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js.map +1 -0
  65. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.d.ts +10 -0
  66. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js +3 -0
  67. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js.map +1 -0
  68. package/docs/implementation-documentation.md +73 -1
  69. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Smart4CityMeasurementTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ class Smart4CityMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
6
+ constructor(transformationDate) {
7
+ super();
8
+ this.transformationDate = transformationDate;
9
+ this.name = "Smart4CityLocationTransformation";
10
+ this.transformInternal = (data) => {
11
+ return {
12
+ source: "smart4city",
13
+ source_id: data.id.toString(),
14
+ parking_id: `smart4city-${data.id}`,
15
+ total_spot_number: data.capacity,
16
+ available_spot_number: data.correctionunoccupied,
17
+ occupied_spot_number: Number.isInteger(data.capacity) && Number.isInteger(data.correctionunoccupied)
18
+ ? data.capacity - data.correctionunoccupied
19
+ : null,
20
+ date_modified: this.transformationDate.toISOString(),
21
+ };
22
+ };
23
+ this.transformArray = (data) => {
24
+ const result = [];
25
+ for (const el of data) {
26
+ if (!el.closed && el.capacity && el.correctionunoccupied !== null) {
27
+ result.push(this.transformElement(el));
28
+ }
29
+ }
30
+ return result;
31
+ };
32
+ }
33
+ }
34
+ exports.Smart4CityMeasurementTransformation = Smart4CityMeasurementTransformation;
35
+ //# sourceMappingURL=Smart4CityMeasurementTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Smart4CityMeasurementTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/Smart4CityMeasurementTransformation.ts"],"names":[],"mappings":";;;AAEA,6GAA0G;AAE1G,MAAa,mCAAoC,SAAQ,+CAAiE;IAGtH,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAG,kCAAkC,CAAC;QAMvC,sBAAiB,GAAG,CAAC,IAAyB,EAAwB,EAAE;YAC9E,OAAO;gBACH,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;gBAC7B,UAAU,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE;gBACnC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB;gBAChD,oBAAoB,EAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAqB;oBAC5C,CAAC,CAAC,IAAI;gBACd,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;aACvD,CAAC;QACN,CAAC,CAAC;QAEK,mBAAc,GAAG,CAAC,IAA2B,EAA0B,EAAE;YAC5E,MAAM,MAAM,GAA2B,EAAE,CAAC;YAE1C,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,oBAAoB,KAAK,IAAI,EAAE;oBAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC1C;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;IA1BF,CAAC;CA2BJ;AAhCD,kFAgCC"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine";
2
2
  export declare class NewParkingsWorker extends AbstractWorker {
3
- protected readonly name = "Parkings";
3
+ readonly name = "Parkings";
4
4
  constructor();
5
5
  registerTask: (task: AbstractTask<any>) => void;
6
6
  }
@@ -16,6 +16,9 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
16
16
  };
17
17
  // Register tasks
18
18
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask));
19
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.GenerateSmart4CityTaskListTask));
20
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.UpdateSmart4CityLocationsTask));
21
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.UpdateSmart4CityMeasurementsTask));
19
22
  this.registerTask(new SaveParkingZonesPrague_1.SaveParkingZonesPrague(this.getQueuePrefix()));
20
23
  }
21
24
  }
@@ -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,8EAAqF;AACrF,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAGjD;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,oCAAwB,CAAC;QAU5C,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;QARE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;CAMJ;AAfD,8CAeC"}
1
+ {"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAqF;AACrF,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAGjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,oCAAwB,CAAC;QAazC,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;QAXE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;CAMJ;AAlBD,8CAkBC"}
@@ -0,0 +1,6 @@
1
+ export interface ISmart4CityTaskTypeInput {
2
+ type: string;
3
+ }
4
+ export declare class Smart4CityTaskTypeValidationSchema implements ISmart4CityTaskTypeInput {
5
+ type: string;
6
+ }
@@ -0,0 +1,21 @@
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.Smart4CityTaskTypeValidationSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ class Smart4CityTaskTypeValidationSchema {
15
+ }
16
+ exports.Smart4CityTaskTypeValidationSchema = Smart4CityTaskTypeValidationSchema;
17
+ __decorate([
18
+ (0, class_validator_1.IsEnum)(["locations", "measurements"]),
19
+ __metadata("design:type", String)
20
+ ], Smart4CityTaskTypeValidationSchema.prototype, "type", void 0);
21
+ //# sourceMappingURL=Smart4CityTaskTypeSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Smart4CityTaskTypeSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAAmE;AAMnE,MAAa,kCAAkC;CAG9C;AAHD,gFAGC;AADG;IADC,IAAA,wBAAM,EAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;;gEACxB"}
@@ -0,0 +1,6 @@
1
+ export interface IUpdateSmart4CityInput {
2
+ code: string;
3
+ }
4
+ export declare class UpdateSmart4CityValidationSchema implements IUpdateSmart4CityInput {
5
+ code: string;
6
+ }
@@ -0,0 +1,21 @@
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.UpdateSmart4CityValidationSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ class UpdateSmart4CityValidationSchema {
15
+ }
16
+ exports.UpdateSmart4CityValidationSchema = UpdateSmart4CityValidationSchema;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], UpdateSmart4CityValidationSchema.prototype, "code", void 0);
21
+ //# sourceMappingURL=UpdateSmart4CitySchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSmart4CitySchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/UpdateSmart4CitySchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAqE;AAMrE,MAAa,gCAAgC;CAG5C;AAHD,4EAGC;AADG;IADC,IAAA,0BAAQ,GAAE;;8DACG"}
@@ -0,0 +1,17 @@
1
+ import { SmartCityListDatasourceCache } from "../../datasources/smart4city/SmartCityListDatasourceCache";
2
+ import { ISmart4CityTaskTypeInput, Smart4CityTaskTypeValidationSchema } from "../schemas/Smart4CityTaskTypeSchema";
3
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
4
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
5
+ export declare enum Smart4CityTaskType {
6
+ locations = "locations",
7
+ measurements = "measurements"
8
+ }
9
+ export declare class GenerateSmart4CityTaskListTask extends AbstractTask<ISmart4CityTaskTypeInput> {
10
+ private config;
11
+ private dataSource;
12
+ readonly queueName = "generateSmart4CityTaskList";
13
+ readonly queueTtl: number;
14
+ readonly schema: typeof Smart4CityTaskTypeValidationSchema;
15
+ constructor(config: ISimpleConfig, dataSource: SmartCityListDatasourceCache);
16
+ execute(data: ISmart4CityTaskTypeInput): Promise<void>;
17
+ }
@@ -0,0 +1,72 @@
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.GenerateSmart4CityTaskListTask = exports.Smart4CityTaskType = void 0;
25
+ const SmartCityListDatasourceCache_1 = require("../../datasources/smart4city/SmartCityListDatasourceCache");
26
+ const Smart4CityTaskTypeSchema_1 = require("../schemas/Smart4CityTaskTypeSchema");
27
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
29
+ const constants_1 = require("../constants");
30
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
31
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
32
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
33
+ var Smart4CityTaskType;
34
+ (function (Smart4CityTaskType) {
35
+ Smart4CityTaskType["locations"] = "locations";
36
+ Smart4CityTaskType["measurements"] = "measurements";
37
+ })(Smart4CityTaskType || (exports.Smart4CityTaskType = Smart4CityTaskType = {}));
38
+ let GenerateSmart4CityTaskListTask = exports.GenerateSmart4CityTaskListTask = class GenerateSmart4CityTaskListTask extends integration_engine_1.AbstractTask {
39
+ constructor(config, dataSource) {
40
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
41
+ this.config = config;
42
+ this.dataSource = dataSource;
43
+ this.queueName = "generateSmart4CityTaskList";
44
+ this.queueTtl = 3 * 60 * 60 * 1000; // 3h
45
+ this.schema = Smart4CityTaskTypeSchema_1.Smart4CityTaskTypeValidationSchema;
46
+ }
47
+ execute(data) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ let sourceDataCityList = [];
50
+ try {
51
+ sourceDataCityList = yield this.dataSource.getAll();
52
+ }
53
+ catch (err) {
54
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
55
+ throw err;
56
+ }
57
+ throw new golemio_errors_1.DatasourceError("Error while fetching Smart4City list", this.constructor.name, err);
58
+ }
59
+ const exchange = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
60
+ for (const city of sourceDataCityList) {
61
+ yield integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + constants_1.NEW_PARKINGS_WORKER_NAME.toLowerCase(), data.type === Smart4CityTaskType.locations ? "updateSmart4CityLocations" : "updateSmart4CityMeasurements", { code: city.code });
62
+ }
63
+ });
64
+ }
65
+ };
66
+ exports.GenerateSmart4CityTaskListTask = GenerateSmart4CityTaskListTask = __decorate([
67
+ (0, tsyringe_1.injectable)(),
68
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
69
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.SmartCityListDatasourceCache)),
70
+ __metadata("design:paramtypes", [Object, SmartCityListDatasourceCache_1.SmartCityListDatasourceCache])
71
+ ], GenerateSmart4CityTaskListTask);
72
+ //# sourceMappingURL=GenerateSmart4CityTaskListTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateSmart4CityTaskListTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4GAAuG;AACvG,kFAA4H;AAC5H,iEAAwE;AACxE,8EAAmF;AAEnF,4CAAiE;AACjE,yEAAoE;AACpE,wEAAqE;AACrE,6EAAiG;AAGjG,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,6CAAuB,CAAA;IACvB,mDAA6B,CAAA;AACjC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAGM,IAAM,8BAA8B,4CAApC,MAAM,8BAA+B,SAAQ,iCAAsC;IAKtF,YACoC,MAA6B,EAE7D,UAAgD;QAEhD,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJQ,WAAM,GAAN,MAAM,CAAe;QAErD,eAAU,GAAV,UAAU,CAA8B;QAPpC,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK;QACpC,WAAM,GAAG,6DAAkC,CAAC;IAQ5D,CAAC;IAEY,OAAO,CAAC,IAA8B;;YAC/C,IAAI,kBAAkB,GAAyC,EAAE,CAAC;YAElE,IAAI;gBACA,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;aACvD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,gCAAe,CAAC,sCAAsC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACjG;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;YAE1E,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;gBACnC,MAAM,iCAAY,CAAC,qBAAqB,CACpC,QAAQ,GAAG,GAAG,GAAG,oCAAwB,CAAC,WAAW,EAAE,EACvD,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,8BAA8B,EACzG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACtB,CAAC;aACL;QACL,CAAC;KAAA;CACJ,CAAA;yCApCY,8BAA8B;IAD1C,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;6CACtC,2DAA4B;GAR3C,8BAA8B,CAoC1C"}
@@ -0,0 +1,19 @@
1
+ import { IParkingProviderDataSourceFactory } from "../../datasources/interfaces/IParkingProviderDataSourceFactory";
2
+ import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
3
+ import { ParkingsRepository } from "../../repositories/ParkingsRepository";
4
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
5
+ import { IUpdateSmart4CityInput, UpdateSmart4CityValidationSchema } from "../schemas/UpdateSmart4CitySchema";
6
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
7
+ export declare class UpdateSmart4CityLocationsTask extends AbstractTask<IUpdateSmart4CityInput> {
8
+ private config;
9
+ private dataSourceFactory;
10
+ private parkingRepository;
11
+ private parkingLocationRepository;
12
+ readonly queueName = "updateSmart4CityLocations";
13
+ readonly queueTtl: number;
14
+ readonly schema: typeof UpdateSmart4CityValidationSchema;
15
+ constructor(config: ISimpleConfig, dataSourceFactory: IParkingProviderDataSourceFactory, parkingRepository: ParkingsRepository, parkingLocationRepository: ParkingsLocationRepository);
16
+ execute(data: IUpdateSmart4CityInput): Promise<void>;
17
+ private getParkingAttributesToUpdate;
18
+ private getParkingLocationAttributesToUpdate;
19
+ }
@@ -0,0 +1,114 @@
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.UpdateSmart4CityLocationsTask = void 0;
25
+ const ParkingProviderEnum_1 = require("../../datasources/helpers/ParkingProviderEnum");
26
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
27
+ const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
28
+ const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
29
+ const Smart4CityLocationTransformation_1 = require("../../transformations/Smart4CityLocationTransformation");
30
+ const UpdateAddressWorker_1 = require("../UpdateAddressWorker");
31
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
32
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
33
+ const UpdateSmart4CitySchema_1 = require("../schemas/UpdateSmart4CitySchema");
34
+ const constants_1 = require("../constants");
35
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
36
+ const golemio_errors_2 = require("@golemio/core/dist/shared/golemio-errors");
37
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
38
+ let UpdateSmart4CityLocationsTask = exports.UpdateSmart4CityLocationsTask = class UpdateSmart4CityLocationsTask extends integration_engine_1.AbstractTask {
39
+ constructor(config, dataSourceFactory, parkingRepository, parkingLocationRepository) {
40
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
41
+ this.config = config;
42
+ this.dataSourceFactory = dataSourceFactory;
43
+ this.parkingRepository = parkingRepository;
44
+ this.parkingLocationRepository = parkingLocationRepository;
45
+ this.queueName = "updateSmart4CityLocations";
46
+ this.queueTtl = 15 * 60 * 1000;
47
+ this.schema = UpdateSmart4CitySchema_1.UpdateSmart4CityValidationSchema;
48
+ }
49
+ execute(data) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ let locations = [];
52
+ try {
53
+ const dataSource = this.dataSourceFactory.getDataSource(ParkingProviderEnum_1.ParkingProvider.Smart4CityLocation, data.code);
54
+ locations = yield dataSource.getAll();
55
+ }
56
+ catch (err) {
57
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
58
+ throw err;
59
+ }
60
+ throw new golemio_errors_1.DatasourceError("Error while fetching Smart4City locations", this.constructor.name, err);
61
+ }
62
+ let transformedData;
63
+ try {
64
+ const transformationDate = new Date();
65
+ const transformation = new Smart4CityLocationTransformation_1.Smart4CityLocationTransformation(transformationDate);
66
+ transformedData = transformation.transformCollection(locations);
67
+ }
68
+ catch (err) {
69
+ throw new golemio_errors_2.TransformationError("Error while transforming Smart4City locations", this.constructor.name, err);
70
+ }
71
+ if (!transformedData.parking.length) {
72
+ return;
73
+ }
74
+ try {
75
+ yield this.parkingRepository.bulkSave(transformedData.parking, this.getParkingAttributesToUpdate(transformedData.parking[0]));
76
+ yield this.parkingLocationRepository.bulkSave(transformedData.parkingLocation, this.getParkingLocationAttributesToUpdate(transformedData.parkingLocation[0]));
77
+ }
78
+ catch (err) {
79
+ throw new golemio_errors_2.GeneralError("Error while saving Smart4City locations data", this.constructor.name, err);
80
+ }
81
+ const exchange = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
82
+ for (const item of transformedData.parking) {
83
+ yield integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateAddress", {
84
+ id: item.id,
85
+ point: item.centroid,
86
+ });
87
+ }
88
+ for (const item of transformedData.parkingLocation) {
89
+ yield integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateLocationAddress", {
90
+ id: item.id,
91
+ point: item.centroid,
92
+ });
93
+ }
94
+ });
95
+ }
96
+ getParkingAttributesToUpdate(parking) {
97
+ return Object.keys(parking)
98
+ .filter((key) => key !== "valid_from")
99
+ .concat("updated_at");
100
+ }
101
+ getParkingLocationAttributesToUpdate(parking) {
102
+ return Object.keys(parking).concat("updated_at");
103
+ }
104
+ };
105
+ exports.UpdateSmart4CityLocationsTask = UpdateSmart4CityLocationsTask = __decorate([
106
+ (0, tsyringe_1.injectable)(),
107
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
108
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingProviderDataSourceFactory)),
109
+ __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository)),
110
+ __param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
111
+ __metadata("design:paramtypes", [Object, Object, ParkingsRepository_1.ParkingsRepository,
112
+ ParkingsLocationRepository_1.ParkingsLocationRepository])
113
+ ], UpdateSmart4CityLocationsTask);
114
+ //# sourceMappingURL=UpdateSmart4CityLocationsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSmart4CityLocationsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { IParkingProviderDataSourceFactory } from "../../datasources/interfaces/IParkingProviderDataSourceFactory";
2
+ import { AbstractTask } from "@golemio/core/dist/integration-engine";
3
+ import { IUpdateSmart4CityInput, UpdateSmart4CityValidationSchema } from "../schemas/UpdateSmart4CitySchema";
4
+ export declare class UpdateSmart4CityMeasurementsTask extends AbstractTask<IUpdateSmart4CityInput> {
5
+ private dataSourceFactory;
6
+ readonly queueName = "updateSmart4CityMeasurements";
7
+ readonly queueTtl: number;
8
+ readonly schema: typeof UpdateSmart4CityValidationSchema;
9
+ private measurementsRepository;
10
+ constructor(dataSourceFactory: IParkingProviderDataSourceFactory);
11
+ execute(data: IUpdateSmart4CityInput): Promise<void>;
12
+ }
@@ -0,0 +1,90 @@
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.UpdateSmart4CityMeasurementsTask = void 0;
25
+ const ParkingProviderEnum_1 = require("../../datasources/helpers/ParkingProviderEnum");
26
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
27
+ const Smart4CityMeasurementTransformation_1 = require("../../transformations/Smart4CityMeasurementTransformation");
28
+ const _sch_1 = require("../../../schema-definitions");
29
+ const ParkingMeasurementsDtoSchema_1 = require("../../../schema-definitions/datasources/ParkingMeasurementsDtoSchema");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
32
+ const UpdateSmart4CitySchema_1 = require("../schemas/UpdateSmart4CitySchema");
33
+ const constants_1 = require("../constants");
34
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
35
+ const golemio_errors_2 = require("@golemio/core/dist/shared/golemio-errors");
36
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
37
+ let UpdateSmart4CityMeasurementsTask = exports.UpdateSmart4CityMeasurementsTask = class UpdateSmart4CityMeasurementsTask extends integration_engine_1.AbstractTask {
38
+ constructor(dataSourceFactory) {
39
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
40
+ this.dataSourceFactory = dataSourceFactory;
41
+ this.queueName = "updateSmart4CityMeasurements";
42
+ this.queueTtl = 15 * 60 * 1000;
43
+ this.schema = UpdateSmart4CitySchema_1.UpdateSmart4CityValidationSchema;
44
+ this.measurementsRepository = new integration_engine_1.PostgresModel(_sch_1.Parkings.measurements.name + "Model", {
45
+ outputSequelizeAttributes: _sch_1.Parkings.measurements.outputSequelizeAttributes,
46
+ pgSchema: _sch_1.Parkings.pgSchema,
47
+ pgTableName: _sch_1.Parkings.measurements.pgTableName,
48
+ savingType: "insertOrUpdate",
49
+ }, new golemio_validator_1.JSONSchemaValidator(_sch_1.Parkings.measurements.name + "PgModelValidator", ParkingMeasurementsDtoSchema_1.ParkingMeasurementsDtoSchema));
50
+ }
51
+ execute(data) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ let measurements = [];
54
+ try {
55
+ const dataSource = this.dataSourceFactory.getDataSource(ParkingProviderEnum_1.ParkingProvider.Smart4CityLocation, data.code);
56
+ measurements = yield dataSource.getAll();
57
+ }
58
+ catch (err) {
59
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
60
+ throw err;
61
+ }
62
+ throw new golemio_errors_1.DatasourceError("Error while fetching Smart4City measurements", this.constructor.name, err);
63
+ }
64
+ let transformedData;
65
+ try {
66
+ const transformationDate = new Date();
67
+ const transformation = new Smart4CityMeasurementTransformation_1.Smart4CityMeasurementTransformation(transformationDate);
68
+ transformedData = transformation.transformArray(measurements);
69
+ }
70
+ catch (err) {
71
+ throw new golemio_errors_2.TransformationError("Error while transforming Smart4City measurements", this.constructor.name, err);
72
+ }
73
+ if (!transformedData.length) {
74
+ return;
75
+ }
76
+ try {
77
+ yield this.measurementsRepository.bulkSave(transformedData);
78
+ }
79
+ catch (err) {
80
+ throw new golemio_errors_2.GeneralError("Error while saving Smart4City measurements data", this.constructor.name, err);
81
+ }
82
+ });
83
+ }
84
+ };
85
+ exports.UpdateSmart4CityMeasurementsTask = UpdateSmart4CityMeasurementsTask = __decorate([
86
+ (0, tsyringe_1.injectable)(),
87
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingProviderDataSourceFactory)),
88
+ __metadata("design:paramtypes", [Object])
89
+ ], UpdateSmart4CityMeasurementsTask);
90
+ //# sourceMappingURL=UpdateSmart4CityMeasurementsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSmart4CityMeasurementsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uFAA8E;AAE9E,yEAAoE;AACpE,mHAA8G;AAC9G,sDAAgC;AAEhC,uHAA6F;AAC7F,iEAAwE;AACxE,8EAAoF;AACpF,8EAAsH;AACtH,4CAAiE;AACjE,6EAAiG;AACjG,6EAA6F;AAC7F,mFAAkF;AAG3E,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,iCAAoC;IAOtF,YAEI,iBAA4D;QAE5D,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAFxB,sBAAiB,GAAjB,iBAAiB,CAAmC;QARhD,cAAS,GAAG,8BAA8B,CAAC;QAC3C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,yDAAgC,CAAC;QAUtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,kCAAa,CAC3C,eAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,OAAO,EACpC;YACI,yBAAyB,EAAE,eAAQ,CAAC,YAAY,CAAC,yBAAyB;YAC1E,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,eAAQ,CAAC,YAAY,CAAC,WAAW;YAC9C,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,kBAAkB,EAAE,2DAA4B,CAAC,CACzG,CAAC;IACN,CAAC;IAEY,OAAO,CAAC,IAA4B;;YAC7C,IAAI,YAAY,GAA0B,EAAE,CAAC;YAE7C,IAAI;gBACA,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,qCAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvG,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;aAC5C;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,gCAAe,CAAC,8CAA8C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACzG;YAED,IAAI,eAAe,CAAC;YAEpB,IAAI;gBACA,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,IAAI,yEAAmC,CAAC,kBAAkB,CAAC,CAAC;gBACnF,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;aACjE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oCAAmB,CAAC,kDAAkD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACjH;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBACzB,OAAO;aACV;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;aAC/D;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACzG;QACL,CAAC;KAAA;CACJ,CAAA;2CA3DY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,gCAAgC,CAAC,CAAA;;GARzD,gCAAgC,CA2D5C"}
@@ -205,6 +205,8 @@ class ParkingsModel extends output_gateway_1.SequelizeModel {
205
205
  as: ParkingsModel.MODEL_RELATION_PARKING_LOCATIONS,
206
206
  model: database_1.sequelizeConnection.models[index_1.Parkings.location.pgTableName],
207
207
  attributes: [],
208
+ required: false,
209
+ where: sequelize_1.default.literal(`"parking_locations".updated_at > ("parkings".updated_at - interval '2 day')`),
208
210
  },
209
211
  {
210
212
  as: ParkingsModel.MODEL_RELATION_ACTUAL_MEASUREMENTS,
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/ParkingsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParkingsModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/ParkingsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6EAAuF;AAEvF,0DAAsC;AAEtC,sEAAmE;AAEnE,yEAAiF;AACjF,6EAAwE;AACxE,iFAAoE;AAgCpE,MAAa,aAAc,SAAQ,+BAAc;IAI7C,YAA2B,wBAAwD;QAC/E,KAAK,CAAC,gBAAQ,CAAC,IAAI,EAAE,gBAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAQ,CAAC,QAAQ,CAAC,yBAAyB,EAAE;YAC7F,MAAM,EAAE,gBAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;QAHoB,6BAAwB,GAAxB,wBAAwB,CAAgC;QAM5E,cAAS,GAAG,CAAC,CAAkB,EAAE,EAAE;YACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,cAAc,EAAE;gBACzE,EAAE,EAAE,aAAa,CAAC,kCAAkC;gBACpD,UAAU,EAAE,WAAW;gBACvB,SAAS,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,cAAc,EAAE;gBAChE,EAAE,EAAE,aAAa,CAAC,gCAAgC;gBAClD,UAAU,EAAE,WAAW;gBACvB,SAAS,EAAE,WAAW;aACzB,CAAC,CAAC;QACP,CAAC,CAAC;QAEK,WAAM,GAAG,CAAO,UAAmC,EAAE,EAAwB,EAAE;YAClF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;YAC5G,MAAM,KAAK,GAAoB,EAAE,CAAC;YAClC,IAAI,KAAK,GAA2B,EAAE,CAAC;YACvC,IAAI,UAAU,GAAmC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAE9E,IAAI;gBACA,IAAI,GAAG,IAAI,GAAG,EAAE;oBACZ,MAAM,QAAQ,GAAG,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1F,MAAM,QAAQ,GAAG,mBAAS,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACxF,UAAU,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBAE/C,IAAI,KAAK,EAAE;wBACP,KAAK,CAAC,KAAK,GAAG,mBAAS,CAAC,KAAK,CACzB,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAC5E,MAAM,CACT,CAAC;qBACL;iBACJ;gBAED,IAAI,MAAM,EAAE;oBACR,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;iBACzB;qBAAM;oBACH,KAAK,CAAC,MAAM,GAAG;wBACX,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;qBAC5E,CAAC;iBACL;gBAED,IAAI,QAAQ,EAAE;oBACV,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;iBAC9B;gBAED,IAAI,QAAQ,EAAE;oBACV,KAAK,CAAC,QAAQ,GAAG;wBACb,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ;qBAC9B,CAAC;iBACL;gBAED,IAAI,aAAa,EAAE;oBACf,KAAK,CAAC,UAAU,GAAG;wBACf,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,aAAa,WAAW,CAAC;qBACvF,CAAC;iBACL;gBAED,IAAI,YAAY,EAAE;oBACd,KAAK,CAAC,UAAU,GAAG;wBACf,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY;qBACnC,CAAC;iBACL;gBAED,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAEhD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,UAAU;oBACV,OAAO,EAAE;wBACL;4BACI,EAAE,EAAE,aAAa,CAAC,kCAAkC;4BACpD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BAC1E,UAAU,EAAE;gCACR,CAAC,mBAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;gCAChE,CAAC,mBAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;6BACrE;yBACJ;qBACJ;oBACD,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;oBACV,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAAsB,EAAE;YACrD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrC,OAAO,EAAE;oBACL;wBACI,EAAE,EAAE,aAAa,CAAC,kCAAkC;wBACpD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;wBAC1E,UAAU,EAAE;4BACR,CAAC,mBAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;4BAChE,CAAC,mBAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;yBACrE;qBACJ;iBACJ;gBACD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,EAAE,EAAE;gBAC1F,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAO,UAAmC,EAAE,EAAwB,EAAE;YACxF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAClC,MAAM,KAAK,GAAoB,EAAE,CAAC;YAClC,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,IAAA,mDAA0B,GAAE,CAAC;YAEhD,IAAI;gBACA,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;oBAC5B,MAAM,QAAQ,GAAG,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1G,MAAM,QAAQ,GAAG,mBAAS,CAAC,EAAE,CACzB,aAAa,EACb,mBAAS,CAAC,OAAO,CACb,aAAa,aAAa,CAAC,gCAAgC;+BACpD,gBAAQ,CAAC,QAAQ,CAAC,WAAW;+BAC7B,aAAa,CAAC,gCAAgC,eAAe,CACvE,EACD,QAAQ,EACR,IAAI,CACP,CAAC;oBAED,UAAwD,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;oBACvF,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,KAAK,CAAC,KAAK,GAAG,mBAAS,CAAC,KAAK,CACzB,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAC7F,MAAM,CACT,CAAC;qBACL;iBACJ;gBAED,IAAI,OAAO,CAAC,MAAM,EAAE;oBAChB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;iBACjC;qBAAM;oBACH,KAAK,CAAC,MAAM,GAAG;wBACX,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;qBAClE,CAAC;iBACL;gBAED,IAAI,OAAO,CAAC,QAAQ,EAAE;oBAClB,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;iBACtC;gBAED,IAAI,OAAO,CAAC,QAAQ,EAAE;oBAClB,KAAK,CAAC,QAAQ,GAAG;wBACb,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ;qBACtC,CAAC;iBACL;gBAED,IAAI,OAAO,CAAC,aAAa,EAAE;oBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;oBACnE,KAAK,CAAC,aAAa,GAAG;wBAClB,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;qBACzD,CAAC;iBACL;gBAED,IAAI,OAAO,CAAC,YAAY,EAAE;oBACtB,KAAK,CAAC,aAAa,GAAG;wBAClB,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;qBACnE,CAAC;iBACL;gBAED,IAAI,OAAO,CAAC,WAAW,EAAE;oBACrB,KAAK,CAAC,YAAY,GAAG;wBACjB,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW;qBACzC,CAAC;iBACL;gBAED,IAAI,OAAO,CAAC,QAAQ,EAAE;oBAClB,KAAK,CAAC,SAAS,GAAG;wBACd,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ;qBACtC,CAAC;iBACL;gBAED,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAEhD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,UAAU;oBACV,OAAO,EAAE;wBACL;4BACI,EAAE,EAAE,aAAa,CAAC,gCAAgC;4BAClD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAChE,UAAU,EAAE,EAAE;4BACd,QAAQ,EAAE,KAAK;4BACf,KAAK,EAAE,mBAAS,CAAC,OAAO,CAAC,6EAA6E,CAAC;yBAC1G;wBACD;4BACI,EAAE,EAAE,aAAa,CAAC,kCAAkC;4BACpD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BAC1E,UAAU,EAAE;gCACR,CAAC,mBAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;gCAChE,CAAC,mBAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;6BACrE;yBACJ;qBACJ;oBACD,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;oBACV,KAAK;oBACL,QAAQ,EAAE,KAAK;iBAClB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC/E;QACL,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAO,EAAU,EAAsB,EAAE;YAC3D,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrC,UAAU,EAAE,IAAA,mDAA0B,GAAE;gBACxC,OAAO,EAAE;oCAED,EAAE,EAAE,aAAa,CAAC,gCAAgC,EAClD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAChE,UAAU,EAAE,EAAE,IACX,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;oBAEpD;wBACI,EAAE,EAAE,aAAa,CAAC,kCAAkC;wBACpD,KAAK,EAAE,8BAAmB,CAAC,MAAM,CAAC,gBAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;wBAC1E,UAAU,EAAE;4BACR,CAAC,mBAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;4BAChE,CAAC,mBAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,wBAAwB,CAAC;yBACrE;qBACJ;iBACJ;gBACD,KAAK,EAAE;oBACH,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE;wBACJ,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;qBAClE;iBACJ;gBACD,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;QACP,CAAC,CAAA,CAAC;IA3PF,CAAC;;AARL,sCAoQC;AAnQiB,gDAAkC,GAAG,cAAc,AAAjB,CAAkB;AACpD,8CAAgC,GAAG,mBAAmB,AAAtB,CAAuB"}
@@ -11,9 +11,9 @@ const parkingMeasurementsDtoSchema = {
11
11
  source: { type: "string" },
12
12
  source_id: { type: "string" },
13
13
  parking_id: { type: "string" },
14
- available_spot_number: { type: "integer" },
14
+ available_spot_number: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
15
15
  closed_spot_number: { type: "integer" },
16
- occupied_spot_number: { type: "integer" },
16
+ occupied_spot_number: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
17
17
  total_spot_number: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
18
18
  date_modified: { type: "string" },
19
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingMeasurementsDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingMeasurementsDtoSchema.ts"],"names":[],"mappings":";;;AAGA,MAAM,4BAA4B,GAA6C;IAC3E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;QACjC,oBAAoB,EAAE,IAAI;QAC1B,UAAU,EAAE;YACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1C,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACrF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpC;KACJ;CACJ,CAAC;AAEuC,oEAA4B"}
1
+ {"version":3,"file":"ParkingMeasurementsDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingMeasurementsDtoSchema.ts"],"names":[],"mappings":";;;AAGA,MAAM,4BAA4B,GAA6C;IAC3E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;QACjC,oBAAoB,EAAE,IAAI;QAC1B,UAAU,EAAE;YACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACzF,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACxF,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACrF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpC;KACJ;CACJ,CAAC;AAEuC,oEAA4B"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { ISmart4CityList } from "./interfaces/ISmart4CityList";
3
+ export declare const smart4CityListJsonSchema: JSONSchemaType<ISmart4CityList[]>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.smart4CityListJsonSchema = void 0;
4
+ exports.smart4CityListJsonSchema = {
5
+ type: "array",
6
+ items: {
7
+ type: "object",
8
+ properties: {
9
+ id: { type: "number" },
10
+ code: { type: "string" },
11
+ name: { type: "string" },
12
+ country: { type: "string" },
13
+ latitude: { type: "number" },
14
+ longitude: { type: "number" },
15
+ },
16
+ required: ["id", "code"],
17
+ additionalProperties: true,
18
+ },
19
+ };
20
+ //# sourceMappingURL=Smart4CityListJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Smart4CityListJsonSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/Smart4CityListJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAsC;IACvE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,IAAI;KAC7B;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ISmart4CityLocation } from "./interfaces/ISmart4CityLocation";
2
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
3
+ export declare const smart4CityLocationJsonSchema: JSONSchemaType<ISmart4CityLocation[]>;