@golemio/parkings 1.23.3-dev.2111016379 → 1.23.3-dev.2129532503

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 (83) hide show
  1. package/db/migrations/postgresql/20251024121247-smart-4-city-v-2.js +53 -0
  2. package/db/migrations/postgresql/sqls/20251024121247-smart-4-city-v-2-down.sql +3 -0
  3. package/db/migrations/postgresql/sqls/20251024121247-smart-4-city-v-2-up.sql +3 -0
  4. package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js +1 -0
  5. package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js.map +1 -1
  6. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +1 -3
  7. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +3 -7
  8. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -1
  9. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +0 -2
  10. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +0 -2
  11. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -1
  12. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +1 -5
  13. package/dist/integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.d.ts +43 -0
  14. package/dist/{schema-definitions/datasources/interfaces/ISmart4CityList.js → integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.js} +1 -1
  15. package/dist/integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.js.map +1 -0
  16. package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.d.ts +17 -0
  17. package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.js +102 -0
  18. package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.js.map +1 -0
  19. package/dist/integration-engine/helpers/Smart4CityRoleHelper.d.ts +8 -0
  20. package/dist/integration-engine/helpers/Smart4CityRoleHelper.js +41 -0
  21. package/dist/integration-engine/helpers/Smart4CityRoleHelper.js.map +1 -0
  22. package/dist/integration-engine/ioc/Di.js +9 -11
  23. package/dist/integration-engine/ioc/Di.js.map +1 -1
  24. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +3 -5
  25. package/dist/integration-engine/ioc/ModuleContainerToken.js +3 -5
  26. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  27. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.d.ts +10 -0
  28. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.js +30 -0
  29. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.js.map +1 -0
  30. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.d.ts +19 -0
  31. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.js +91 -0
  32. package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.js.map +1 -0
  33. package/dist/integration-engine/workers/NewParkingsWorker.js +1 -2
  34. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  35. package/dist/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.d.ts +6 -0
  36. package/dist/integration-engine/workers/schemas/{Smart4CityTaskTypeSchema.js → UpdateSmart4CityDataSchema.js} +6 -6
  37. package/dist/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.js.map +1 -0
  38. package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.d.ts +22 -0
  39. package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.js +91 -0
  40. package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.js.map +1 -0
  41. package/dist/schema-definitions/datasources/ParkingsDtoSchema.js +1 -1
  42. package/dist/schema-definitions/datasources/ParkingsDtoSchema.js.map +1 -1
  43. package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.d.ts +114 -0
  44. package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.js +118 -0
  45. package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.js.map +1 -0
  46. package/docs/asyncapi.yaml +7 -21
  47. package/docs/implementation_documentation.md +18 -50
  48. package/package.json +1 -1
  49. package/static-data/smart4cityLookup.json +47 -0
  50. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.d.ts +0 -11
  51. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js +0 -45
  52. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js.map +0 -1
  53. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.d.ts +0 -11
  54. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js +0 -50
  55. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js.map +0 -1
  56. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.d.ts +0 -10
  57. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js +0 -41
  58. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js.map +0 -1
  59. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.d.ts +0 -10
  60. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js +0 -36
  61. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js.map +0 -1
  62. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.d.ts +0 -6
  63. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js.map +0 -1
  64. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.d.ts +0 -6
  65. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js +0 -21
  66. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js.map +0 -1
  67. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.d.ts +0 -16
  68. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js +0 -60
  69. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js.map +0 -1
  70. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.d.ts +0 -12
  71. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js +0 -78
  72. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js.map +0 -1
  73. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.d.ts +0 -3
  74. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js +0 -20
  75. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js.map +0 -1
  76. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.d.ts +0 -3
  77. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js +0 -22
  78. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js.map +0 -1
  79. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.d.ts +0 -8
  80. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js.map +0 -1
  81. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.d.ts +0 -10
  82. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js +0 -3
  83. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { ISmart4CityGraphQLReponse } from "../../datasources/smart4city/graphql/ISmart4CityGraphQLReponse";
2
+ import { Smart4CityRoleHelper } from "../../helpers/Smart4CityRoleHelper";
3
+ import { IParking, IParkingLocation } from "../../ParkingInterface";
4
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
5
+ export declare class Smart4CityParkingTransformation extends AbstractTransformation<ISmart4CityGraphQLReponse, {
6
+ parking: IParking[];
7
+ spaces: IParkingLocation[];
8
+ }> {
9
+ private source;
10
+ private transformationDate;
11
+ private smart4CityRoleHelper;
12
+ name: string;
13
+ constructor(source: string, transformationDate: Date, smart4CityRoleHelper: Smart4CityRoleHelper);
14
+ protected transformInternal: (element: ISmart4CityGraphQLReponse) => {
15
+ parking: IParking[];
16
+ spaces: IParkingLocation[];
17
+ };
18
+ private getSpecialFeatures;
19
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Smart4CityParkingTransformation = void 0;
27
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
28
+ const turf = __importStar(require("@turf/turf"));
29
+ class Smart4CityParkingTransformation extends AbstractTransformation_1.AbstractTransformation {
30
+ constructor(source, transformationDate, smart4CityRoleHelper) {
31
+ super();
32
+ this.source = source;
33
+ this.transformationDate = transformationDate;
34
+ this.smart4CityRoleHelper = smart4CityRoleHelper;
35
+ this.name = "Smart4CityParkingTransformation";
36
+ this.transformInternal = (element) => {
37
+ const transformed = [];
38
+ const transformadSpaces = [];
39
+ const dataProvider = "www.smart4city.cz";
40
+ for (const parkingLocation of element.data.parking_locations) {
41
+ const parkingId = `${this.source}-${parkingLocation.code}`;
42
+ transformed.push({
43
+ id: parkingId,
44
+ source: this.source,
45
+ source_id: parkingLocation.code,
46
+ data_provider: dataProvider,
47
+ location: parkingLocation.definition,
48
+ name: parkingLocation.name,
49
+ valid_from: this.transformationDate.toISOString(),
50
+ date_modified: parkingLocation.last_changes,
51
+ total_spot_number: parkingLocation.capacity,
52
+ parking_type: null,
53
+ active: true,
54
+ centroid: turf.centroid(parkingLocation.definition).geometry,
55
+ });
56
+ if (parkingLocation._places.length > 0) {
57
+ for (const parkingSpace of parkingLocation._places) {
58
+ transformadSpaces.push({
59
+ id: `${this.source}-${parkingSpace.id}`,
60
+ source: this.source,
61
+ source_id: parkingId,
62
+ data_provider: dataProvider,
63
+ location: parkingSpace.coords,
64
+ total_spot_number: 1,
65
+ special_access: this.getSpecialFeatures(parkingSpace.actualRoleID.$oid),
66
+ centroid: turf.centroid(parkingSpace.coords).geometry,
67
+ });
68
+ }
69
+ }
70
+ else {
71
+ transformadSpaces.push({
72
+ id: `${parkingId}-1`,
73
+ source: this.source,
74
+ source_id: parkingId,
75
+ data_provider: dataProvider,
76
+ location: parkingLocation.definition,
77
+ total_spot_number: parkingLocation.capacity,
78
+ centroid: turf.centroid(parkingLocation.definition).geometry,
79
+ });
80
+ }
81
+ }
82
+ return { parking: transformed, spaces: transformadSpaces };
83
+ };
84
+ }
85
+ getSpecialFeatures(roleId) {
86
+ const access = this.smart4CityRoleHelper.getAccess(roleId);
87
+ return access ? [access] : undefined;
88
+ }
89
+ }
90
+ exports.Smart4CityParkingTransformation = Smart4CityParkingTransformation;
91
+ //# sourceMappingURL=Smart4CityParkingTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Smart4CityParkingTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
15
15
  };
16
16
  // Register tasks
17
17
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask));
18
- this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.GenerateSmart4CityTaskListTask));
19
- this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.UpdateSmart4CityMeasurementsTask));
20
18
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.CalculateAverageOccupancyTask));
21
19
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.GenerateIptOictParkingJobsTask));
22
20
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIptOictParkingDataTask));
@@ -36,6 +34,7 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
36
34
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveTskOffStreetMeasurementsTask));
37
35
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.GenerateIptOictParkingMachinesTask));
38
36
  this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIptOictParkingMachinesTask));
37
+ this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.UpdateSmart4CityDataTask));
39
38
  }
40
39
  }
41
40
  exports.NewParkingsWorker = NewParkingsWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface IUpdateSmart4CityDataInput {
2
+ type: "measurements" | "data" | "all";
3
+ }
4
+ export declare class UpdateSmart4CityDataValidationSchema implements IUpdateSmart4CityDataInput {
5
+ type: "measurements" | "data" | "all";
6
+ }
@@ -9,13 +9,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Smart4CityTaskTypeValidationSchema = void 0;
12
+ exports.UpdateSmart4CityDataValidationSchema = void 0;
13
13
  const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
- class Smart4CityTaskTypeValidationSchema {
14
+ class UpdateSmart4CityDataValidationSchema {
15
15
  }
16
- exports.Smart4CityTaskTypeValidationSchema = Smart4CityTaskTypeValidationSchema;
16
+ exports.UpdateSmart4CityDataValidationSchema = UpdateSmart4CityDataValidationSchema;
17
17
  __decorate([
18
- (0, class_validator_1.IsEnum)(["locations", "measurements"]),
18
+ (0, class_validator_1.IsEnum)(["measurements", "data", "all"]),
19
19
  __metadata("design:type", String)
20
- ], Smart4CityTaskTypeValidationSchema.prototype, "type", void 0);
21
- //# sourceMappingURL=Smart4CityTaskTypeSchema.js.map
20
+ ], UpdateSmart4CityDataValidationSchema.prototype, "type", void 0);
21
+ //# sourceMappingURL=UpdateSmart4CityDataSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSmart4CityDataSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAmE;AAMnE,MAAa,oCAAoC;CAGhD;AAHD,oFAGC;AADG;IADC,IAAA,wBAAM,EAAC,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;;kEACD"}
@@ -0,0 +1,22 @@
1
+ import { Smart4CityGraphQLDataSource } from "../../datasources/smart4city/graphql/Smart4CityGraphQLDataSource";
2
+ import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
3
+ import { ParkingsRepository } from "../../repositories/ParkingsRepository";
4
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
5
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/PostgresModel";
6
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers/AbstractTask";
7
+ import { IUpdateSmart4CityDataInput, UpdateSmart4CityDataValidationSchema } from "../schemas/UpdateSmart4CityDataSchema";
8
+ import { Smart4CityRoleHelper } from "../../helpers/Smart4CityRoleHelper";
9
+ export declare class UpdateSmart4CityDataTask extends AbstractTask<IUpdateSmart4CityDataInput> {
10
+ private datasource;
11
+ private postgresConnector;
12
+ private parkingRepository;
13
+ private parkingLocationRepository;
14
+ private readonly parkingsMeasurementsRepository;
15
+ private readonly parkingsMeasurementsActualRepository;
16
+ private smart4CityRoleHelper;
17
+ readonly queueName = "updateSmart4CityData";
18
+ readonly queueTtl: number;
19
+ readonly schema: typeof UpdateSmart4CityDataValidationSchema;
20
+ constructor(datasource: Smart4CityGraphQLDataSource, postgresConnector: IDatabaseConnector, parkingRepository: ParkingsRepository, parkingLocationRepository: ParkingsLocationRepository, parkingsMeasurementsRepository: PostgresModel, parkingsMeasurementsActualRepository: PostgresModel, smart4CityRoleHelper: Smart4CityRoleHelper);
21
+ execute(data: IUpdateSmart4CityDataInput): Promise<void>;
22
+ }
@@ -0,0 +1,91 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateSmart4CityDataTask = void 0;
16
+ const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
17
+ const Smart4CityGraphQLDataSource_1 = require("../../datasources/smart4city/graphql/Smart4CityGraphQLDataSource");
18
+ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
19
+ const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
20
+ const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
21
+ const Smart4CityParkingMeasurementsTransformation_1 = require("../../transformations/smart4city/Smart4CityParkingMeasurementsTransformation");
22
+ const Smart4CityParkingTransformation_1 = require("../../transformations/smart4city/Smart4CityParkingTransformation");
23
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
24
+ const PostgresModel_1 = require("@golemio/core/dist/integration-engine/models/PostgresModel");
25
+ const AbstractTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTask");
26
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
+ const constants_1 = require("../constants");
29
+ const UpdateSmart4CityDataSchema_1 = require("../schemas/UpdateSmart4CityDataSchema");
30
+ const Smart4CityRoleHelper_1 = require("../../helpers/Smart4CityRoleHelper");
31
+ const ParkingModel_1 = require("../../../schema-definitions/models/ParkingModel");
32
+ let UpdateSmart4CityDataTask = exports.UpdateSmart4CityDataTask = class UpdateSmart4CityDataTask extends AbstractTask_1.AbstractTask {
33
+ constructor(datasource, postgresConnector, parkingRepository, parkingLocationRepository, parkingsMeasurementsRepository, parkingsMeasurementsActualRepository, smart4CityRoleHelper) {
34
+ super(constants_1.NEW_PARKINGS_WORKER_NAME);
35
+ this.datasource = datasource;
36
+ this.postgresConnector = postgresConnector;
37
+ this.parkingRepository = parkingRepository;
38
+ this.parkingLocationRepository = parkingLocationRepository;
39
+ this.parkingsMeasurementsRepository = parkingsMeasurementsRepository;
40
+ this.parkingsMeasurementsActualRepository = parkingsMeasurementsActualRepository;
41
+ this.smart4CityRoleHelper = smart4CityRoleHelper;
42
+ this.queueName = "updateSmart4CityData";
43
+ this.queueTtl = 15 * 60 * 1000;
44
+ this.schema = UpdateSmart4CityDataSchema_1.UpdateSmart4CityDataValidationSchema;
45
+ }
46
+ async execute(data) {
47
+ const token = await this.datasource.getToken();
48
+ const graphQLDataSource = this.datasource.getDataSource(token);
49
+ const graphQLData = await graphQLDataSource.getAll();
50
+ const trnasformationDate = new Date();
51
+ if (data.type === "all" || data.type === "data") {
52
+ const transformationParkings = new Smart4CityParkingTransformation_1.Smart4CityParkingTransformation(SourceEnum_1.SourceEnum.Smart4City, trnasformationDate, this.smart4CityRoleHelper);
53
+ const { parking, spaces } = transformationParkings.transformElement(graphQLData);
54
+ const updateParkingAttributes = ParkingModel_1.ParkingModel.attributeList
55
+ .filter((key) => !["valid_from", "address", "address_updated_at", "sanitized_location", "area"].includes(key))
56
+ .concat("updated_at");
57
+ const transaction = await this.postgresConnector.getConnection().transaction();
58
+ try {
59
+ await this.parkingRepository.bulkSave(parking, updateParkingAttributes, false, false, transaction);
60
+ await this.parkingRepository.markInactiveParkings(parking.map((el) => el.id), SourceEnum_1.SourceEnum.Smart4City, transaction);
61
+ await transaction.commit();
62
+ }
63
+ catch (err) {
64
+ await transaction.rollback();
65
+ throw new golemio_errors_1.GeneralError(`Unable to save parking data from ${SourceEnum_1.SourceEnum.Smart4City}`, this.constructor.name, err);
66
+ }
67
+ await this.parkingLocationRepository.saveWithoutAddress(spaces, SourceEnum_1.SourceEnum.Smart4City);
68
+ }
69
+ if (data.type === "all" || data.type === "measurements") {
70
+ const measurements = new Smart4CityParkingMeasurementsTransformation_1.Smart4CityMeasurementsTransformation(SourceEnum_1.SourceEnum.Smart4City, trnasformationDate).transformElement(graphQLData);
71
+ await this.parkingsMeasurementsRepository.bulkSave(measurements);
72
+ await this.parkingsMeasurementsActualRepository.bulkSave(measurements);
73
+ }
74
+ }
75
+ };
76
+ exports.UpdateSmart4CityDataTask = UpdateSmart4CityDataTask = __decorate([
77
+ (0, tsyringe_1.injectable)(),
78
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.Smart4CityGraphQLDataSource)),
79
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
80
+ __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository)),
81
+ __param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
82
+ __param(4, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementRepository)),
83
+ __param(5, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementsActualRepository)),
84
+ __param(6, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.Smart4CityRoleHelper)),
85
+ __metadata("design:paramtypes", [Smart4CityGraphQLDataSource_1.Smart4CityGraphQLDataSource, Object, ParkingsRepository_1.ParkingsRepository,
86
+ ParkingsLocationRepository_1.ParkingsLocationRepository,
87
+ PostgresModel_1.PostgresModel,
88
+ PostgresModel_1.PostgresModel,
89
+ Smart4CityRoleHelper_1.Smart4CityRoleHelper])
90
+ ], UpdateSmart4CityDataTask);
91
+ //# sourceMappingURL=UpdateSmart4CityDataTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSmart4CityDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateSmart4CityDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAA2D;AAC3D,kHAA6G;AAC7G,yEAAoE;AACpE,8FAAyF;AACzF,8EAAyE;AACzE,8IAAkI;AAClI,sHAAiH;AAEjH,wEAAqE;AACrE,8FAA2F;AAC3F,6FAA0F;AAC1F,6EAAwE;AACxE,iEAAwE;AACxE,4CAAwD;AACxD,sFAAyH;AACzH,6EAAwE;AACxE,kFAAwD;AAGjD,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,2BAAwC;IAKlF,YAEI,UAA+C,EACV,iBAA6C,EACjC,iBAA6C,EACrC,yBAA6D,EAEtH,8BAA8D,EAE9D,oCAAoE,EACjB,oBAAkD;QAErG,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAVxB,eAAU,GAAV,UAAU,CAA6B;QACF,sBAAiB,GAAjB,iBAAiB,CAAoB;QACzB,sBAAiB,GAAjB,iBAAiB,CAAoB;QAC7B,8BAAyB,GAAzB,yBAAyB,CAA4B;QAErG,mCAA8B,GAA9B,8BAA8B,CAAe;QAE7C,yCAAoC,GAApC,oCAAoC,CAAe;QACT,yBAAoB,GAApB,oBAAoB,CAAsB;QAdzF,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,iEAAoC,CAAC;IAe9D,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAgC;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC7C,MAAM,sBAAsB,GAAG,IAAI,iEAA+B,CAC9D,uBAAU,CAAC,UAAU,EACrB,kBAAkB,EAClB,IAAI,CAAC,oBAAoB,CAC5B,CAAC;YACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjF,MAAM,uBAAuB,GAAG,2BAAY,CAAC,aAAa;iBACrD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC7G,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;YAE/E,IAAI;gBACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBACnG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1B,uBAAU,CAAC,UAAU,EACrB,WAAW,CACd,CAAC;gBACF,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,6BAAY,CAAC,oCAAoC,uBAAU,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACnH;YACD,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,MAAM,EAAE,uBAAU,CAAC,UAAU,CAAC,CAAC;SAC1F;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,kFAAoC,CACzD,uBAAU,CAAC,UAAU,EACrB,kBAAkB,CACrB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAC1E;IACL,CAAC;CACJ,CAAA;mCA9DY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,2BAA2B,CAAC,CAAA;IAExD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC/C,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,oCAAoC,CAAC,CAAA;IAEjE,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,oBAAoB,CAAC,CAAA;qCAR9B,yDAA2B,UAE6B,uCAAkB;QACF,uDAA0B;QAErE,6BAAa;QAEP,6BAAa;QACa,2CAAoB;GAfhG,wBAAwB,CA8DpC"}
@@ -21,7 +21,7 @@ const parkingsDtoSchema = {
21
21
  tariff_id: { type: "string" },
22
22
  valid_from: { type: "string" },
23
23
  valid_to: { type: "string" },
24
- parking_type: { type: "string" },
24
+ parking_type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
25
25
  zone_type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
26
26
  centroid: { $ref: "#/definitions/geometry" },
27
27
  security: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingsDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingsDtoSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParkingsDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingsDtoSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * JSON Schema for validating the complete GraphQL response
3
+ */
4
+ export declare const smart4CityGraphQLResponse: {
5
+ type: string;
6
+ required: string[];
7
+ properties: {
8
+ data: {
9
+ type: string;
10
+ required: string[];
11
+ properties: {
12
+ parking_locations: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ required: string[];
17
+ properties: {
18
+ _places: {
19
+ type: string;
20
+ items: {
21
+ type: string;
22
+ required: string[];
23
+ properties: {
24
+ placeID: {
25
+ type: string;
26
+ };
27
+ occ: {
28
+ type: string;
29
+ };
30
+ id: {
31
+ type: string;
32
+ format: string;
33
+ };
34
+ coords: {
35
+ type: string;
36
+ required: string[];
37
+ properties: {
38
+ type: {
39
+ type: string;
40
+ enum: string[];
41
+ };
42
+ coordinates: {
43
+ type: string;
44
+ items: {
45
+ type: string;
46
+ };
47
+ minItems: number;
48
+ maxItems: number;
49
+ description: string;
50
+ };
51
+ };
52
+ };
53
+ actualRoleID: {
54
+ type: string;
55
+ required: string[];
56
+ properties: {
57
+ $oid: {
58
+ type: string;
59
+ };
60
+ };
61
+ };
62
+ };
63
+ };
64
+ description: string;
65
+ };
66
+ capacity: {
67
+ type: string;
68
+ minimum: number;
69
+ };
70
+ code: {
71
+ type: string;
72
+ };
73
+ definition: {
74
+ type: string;
75
+ required: string[];
76
+ properties: {
77
+ type: {
78
+ type: string;
79
+ enum: string[];
80
+ };
81
+ coordinates: {
82
+ type: string;
83
+ items: {
84
+ type: string;
85
+ items: {
86
+ type: string;
87
+ items: {
88
+ type: string;
89
+ };
90
+ minItems: number;
91
+ maxItems: number;
92
+ };
93
+ };
94
+ };
95
+ };
96
+ };
97
+ last_changes: {
98
+ type: string;
99
+ format: string;
100
+ };
101
+ name: {
102
+ type: string;
103
+ };
104
+ total_occ: {
105
+ type: string;
106
+ minimum: number;
107
+ };
108
+ };
109
+ };
110
+ };
111
+ };
112
+ };
113
+ };
114
+ };
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.smart4CityGraphQLResponse = void 0;
4
+ /**
5
+ * JSON Schema for validating the complete GraphQL response
6
+ */
7
+ exports.smart4CityGraphQLResponse = {
8
+ type: "object",
9
+ required: ["data"],
10
+ properties: {
11
+ data: {
12
+ type: "object",
13
+ required: ["parking_locations"],
14
+ properties: {
15
+ parking_locations: {
16
+ type: "array",
17
+ items: {
18
+ type: "object",
19
+ required: ["_places", "capacity", "code", "definition", "last_changes", "name", "total_occ"],
20
+ properties: {
21
+ _places: {
22
+ type: "array",
23
+ items: {
24
+ type: "object",
25
+ required: ["placeID", "occ", "id", "coords", "actualRoleID"],
26
+ properties: {
27
+ placeID: {
28
+ type: "number",
29
+ },
30
+ occ: {
31
+ type: "number",
32
+ },
33
+ id: {
34
+ type: "string",
35
+ format: "uuid",
36
+ },
37
+ coords: {
38
+ type: "object",
39
+ required: ["type", "coordinates"],
40
+ properties: {
41
+ type: {
42
+ type: "string",
43
+ enum: ["Point"],
44
+ },
45
+ coordinates: {
46
+ type: "array",
47
+ items: {
48
+ type: "number",
49
+ },
50
+ minItems: 2,
51
+ maxItems: 2,
52
+ description: "Coordinates [longitude, latitude]",
53
+ },
54
+ },
55
+ },
56
+ actualRoleID: {
57
+ type: "object",
58
+ required: ["$oid"],
59
+ properties: {
60
+ $oid: {
61
+ type: "string",
62
+ },
63
+ },
64
+ },
65
+ },
66
+ },
67
+ description: "Array of parking places within this location",
68
+ },
69
+ capacity: {
70
+ type: "number",
71
+ minimum: 0,
72
+ },
73
+ code: {
74
+ type: "string",
75
+ },
76
+ definition: {
77
+ type: "object",
78
+ required: ["type", "coordinates"],
79
+ properties: {
80
+ type: {
81
+ type: "string",
82
+ enum: ["Polygon"],
83
+ },
84
+ coordinates: {
85
+ type: "array",
86
+ items: {
87
+ type: "array",
88
+ items: {
89
+ type: "array",
90
+ items: {
91
+ type: "number",
92
+ },
93
+ minItems: 2,
94
+ maxItems: 2,
95
+ },
96
+ },
97
+ },
98
+ },
99
+ },
100
+ last_changes: {
101
+ type: "string",
102
+ format: "date-time",
103
+ },
104
+ name: {
105
+ type: "string",
106
+ },
107
+ total_occ: {
108
+ type: "number",
109
+ minimum: 0,
110
+ },
111
+ },
112
+ },
113
+ },
114
+ },
115
+ },
116
+ },
117
+ };
118
+ //# sourceMappingURL=Smart4CityGraphQLSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Smart4CityGraphQLSchemas.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,yBAAyB,GAAG;IACrC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,mBAAmB,CAAC;YAC/B,UAAU,EAAE;gBACR,iBAAiB,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC;wBAC5F,UAAU,EAAE;4BACR,OAAO,EAAE;gCACL,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACH,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC;oCAC5D,UAAU,EAAE;wCACR,OAAO,EAAE;4CACL,IAAI,EAAE,QAAQ;yCACjB;wCACD,GAAG,EAAE;4CACD,IAAI,EAAE,QAAQ;yCACjB;wCACD,EAAE,EAAE;4CACA,IAAI,EAAE,QAAQ;4CACd,MAAM,EAAE,MAAM;yCACjB;wCACD,MAAM,EAAE;4CACJ,IAAI,EAAE,QAAQ;4CACd,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;4CACjC,UAAU,EAAE;gDACR,IAAI,EAAE;oDACF,IAAI,EAAE,QAAQ;oDACd,IAAI,EAAE,CAAC,OAAO,CAAC;iDAClB;gDACD,WAAW,EAAE;oDACT,IAAI,EAAE,OAAO;oDACb,KAAK,EAAE;wDACH,IAAI,EAAE,QAAQ;qDACjB;oDACD,QAAQ,EAAE,CAAC;oDACX,QAAQ,EAAE,CAAC;oDACX,WAAW,EAAE,mCAAmC;iDACnD;6CACJ;yCACJ;wCACD,YAAY,EAAE;4CACV,IAAI,EAAE,QAAQ;4CACd,QAAQ,EAAE,CAAC,MAAM,CAAC;4CAClB,UAAU,EAAE;gDACR,IAAI,EAAE;oDACF,IAAI,EAAE,QAAQ;iDACjB;6CACJ;yCACJ;qCACJ;iCACJ;gCACD,WAAW,EAAE,8CAA8C;6BAC9D;4BACD,QAAQ,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,CAAC;6BACb;4BACD,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;6BACjB;4BACD,UAAU,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;gCACjC,UAAU,EAAE;oCACR,IAAI,EAAE;wCACF,IAAI,EAAE,QAAQ;wCACd,IAAI,EAAE,CAAC,SAAS,CAAC;qCACpB;oCACD,WAAW,EAAE;wCACT,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE;4CACH,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE;gDACH,IAAI,EAAE,OAAO;gDACb,KAAK,EAAE;oDACH,IAAI,EAAE,QAAQ;iDACjB;gDACD,QAAQ,EAAE,CAAC;gDACX,QAAQ,EAAE,CAAC;6CACd;yCACJ;qCACJ;iCACJ;6BACJ;4BACD,YAAY,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,WAAW;6BACtB;4BACD,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;6BACjB;4BACD,SAAS,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,CAAC;6BACb;yBACJ;qBACJ;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC"}
@@ -81,9 +81,9 @@ channels:
81
81
  messages:
82
82
  empty:
83
83
  $ref: "#/components/messages/emptyMessage"
84
- parkings.generateSmart4CityTaskList:
85
- address: dataplatform.parkings.generateSmart4CityTaskList
86
- description: Updates list of cities
84
+ parkings.updateSmart4CityData:
85
+ address: dataplatform.parkings.updateSmart4CityData
86
+ description: Updates smart4city parking, spaces and measurements
87
87
  bindings:
88
88
  amqp:
89
89
  is: queue
@@ -334,17 +334,6 @@ channels:
334
334
  messages:
335
335
  empty:
336
336
  $ref: "#/components/messages/emptyMessage"
337
- parkings.updateSmart4CityMeasurements:
338
- address: dataplatform.parkings.updateSmart4CityMeasurements
339
- description: Update occupancy measurements from Smart4City
340
- bindings:
341
- amqp:
342
- is: queue
343
- queue:
344
- durable: true
345
- messages:
346
- parkings.UpdateSmart4CityInput:
347
- $ref: "#/components/messages/parkings.UpdateSmart4CityInput"
348
337
  parkings.updateZtpParkings:
349
338
  address: dataplatform.parkings.updateZtpParkings
350
339
  description: Update parkings for disabled people (IPR)
@@ -418,10 +407,10 @@ operations:
418
407
  action: "send"
419
408
  channel:
420
409
  $ref: "#/channels/parkings.generateIptOictParkingMachinesJobs"
421
- parkings.generateSmart4CityTaskList:
410
+ parkings.updateSmart4CityData:
422
411
  action: "send"
423
412
  channel:
424
- $ref: "#/channels/parkings.generateSmart4CityTaskList"
413
+ $ref: "#/channels/parkings.updateSmart4CityData"
425
414
  parkings.saveBedrichovData:
426
415
  action: "send"
427
416
  channel:
@@ -494,10 +483,6 @@ operations:
494
483
  action: "send"
495
484
  channel:
496
485
  $ref: "#/channels/parkings.updateLocationAddress"
497
- parkings.updateSmart4CityMeasurements:
498
- action: "send"
499
- channel:
500
- $ref: "#/channels/parkings.updateSmart4CityMeasurements"
501
486
  parkings.updateZtpParkings:
502
487
  action: "send"
503
488
  channel:
@@ -588,8 +573,9 @@ components:
588
573
  "type":
589
574
  type: string
590
575
  enum:
591
- - locations
576
+ - data
592
577
  - measurements
578
+ - all
593
579
  additionalProperties: false
594
580
  parkings.ParkingSource:
595
581
  payload: