@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.
- package/db/migrations/postgresql/20251024121247-smart-4-city-v-2.js +53 -0
- package/db/migrations/postgresql/sqls/20251024121247-smart-4-city-v-2-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20251024121247-smart-4-city-v-2-up.sql +3 -0
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js +1 -0
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js.map +1 -1
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +1 -3
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +3 -7
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -1
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +0 -2
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +0 -2
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -1
- package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +1 -5
- package/dist/integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.d.ts +43 -0
- package/dist/{schema-definitions/datasources/interfaces/ISmart4CityList.js → integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.js} +1 -1
- package/dist/integration-engine/datasources/smart4city/graphql/ISmart4CityGraphQLReponse.js.map +1 -0
- package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.d.ts +17 -0
- package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.js +102 -0
- package/dist/integration-engine/datasources/smart4city/graphql/Smart4CityGraphQLDataSource.js.map +1 -0
- package/dist/integration-engine/helpers/Smart4CityRoleHelper.d.ts +8 -0
- package/dist/integration-engine/helpers/Smart4CityRoleHelper.js +41 -0
- package/dist/integration-engine/helpers/Smart4CityRoleHelper.js.map +1 -0
- package/dist/integration-engine/ioc/Di.js +9 -11
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +3 -5
- package/dist/integration-engine/ioc/ModuleContainerToken.js +3 -5
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.d.ts +10 -0
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.js +30 -0
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.d.ts +19 -0
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.js +91 -0
- package/dist/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.js.map +1 -0
- package/dist/integration-engine/workers/NewParkingsWorker.js +1 -2
- package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
- package/dist/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.d.ts +6 -0
- package/dist/integration-engine/workers/schemas/{Smart4CityTaskTypeSchema.js → UpdateSmart4CityDataSchema.js} +6 -6
- package/dist/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.js.map +1 -0
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.d.ts +22 -0
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.js +91 -0
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityDataTask.js.map +1 -0
- package/dist/schema-definitions/datasources/ParkingsDtoSchema.js +1 -1
- package/dist/schema-definitions/datasources/ParkingsDtoSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.d.ts +114 -0
- package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.js +118 -0
- package/dist/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.js.map +1 -0
- package/docs/asyncapi.yaml +7 -21
- package/docs/implementation_documentation.md +18 -50
- package/package.json +1 -1
- package/static-data/smart4cityLookup.json +47 -0
- package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.d.ts +0 -11
- package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js +0 -45
- package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js.map +0 -1
- package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.d.ts +0 -11
- package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js +0 -50
- package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js.map +0 -1
- package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.d.ts +0 -10
- package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js +0 -41
- package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js.map +0 -1
- package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.d.ts +0 -10
- package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js +0 -36
- package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js.map +0 -1
- package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.d.ts +0 -6
- package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js.map +0 -1
- package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.d.ts +0 -6
- package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js +0 -21
- package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js.map +0 -1
- package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.d.ts +0 -16
- package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js +0 -60
- package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js.map +0 -1
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.d.ts +0 -12
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js +0 -78
- package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js.map +0 -1
- package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.d.ts +0 -3
- package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js +0 -20
- package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js.map +0 -1
- package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.d.ts +0 -3
- package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js +0 -22
- package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js.map +0 -1
- package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.d.ts +0 -8
- package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js.map +0 -1
- package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.d.ts +0 -10
- package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js +0 -3
- package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js.map +0 -1
|
@@ -163,34 +163,26 @@ Zóny placeného stání se stahují z API TSK (CIS VHD CD API) značené jako v
|
|
|
163
163
|
|
|
164
164
|
#### _Smart4City_
|
|
165
165
|
|
|
166
|
-
- ze zdroje stahujeme
|
|
166
|
+
- ze zdroje stahujeme parkoviště, parkovací místa a měření.
|
|
167
167
|
|
|
168
168
|
- zdroj dat (seznam měst)
|
|
169
|
-
- url: config.datasources.parkings.Smart4City.
|
|
169
|
+
- url: config.datasources.parkings.Smart4City.graphQL.url
|
|
170
170
|
- formát dat
|
|
171
171
|
- protokol: http
|
|
172
|
-
- datový typ: json
|
|
173
|
-
- validační schéma: [
|
|
174
|
-
- příklad vstupnich dat: [
|
|
172
|
+
- datový typ: json
|
|
173
|
+
- validační schéma: [smart4CityGraphQLResponse](../src/schema-definitions/datasources/smart4city/Smart4CityGraphQLSchemas.ts)
|
|
174
|
+
- příklad vstupnich dat: [smart4CityMeasurementsInput](../test/integration-engine/data/smart4city/smart4city-measurements-input.ts)
|
|
175
175
|
- frekvence stahování
|
|
176
176
|
- cron definice:
|
|
177
|
-
- cron.dataplatform.parkings.
|
|
177
|
+
- cron.dataplatform.parkings.updateSmart4CityData
|
|
178
|
+
- rabin: parking `0 0 6 * * *`
|
|
179
|
+
- prod: parking `0 0 6 * * *`
|
|
178
180
|
- rabin: measurements `0 */1 * * * *`
|
|
179
181
|
- prod: measurements `0 */1 * * * *`
|
|
180
182
|
- názvy rabbitmq front
|
|
181
|
-
- dataplatform.parkings.
|
|
182
|
-
|
|
183
|
-
-
|
|
184
|
-
- url: config.datasources.parkings.Smart4City.ApiBaseUrl + /`{city code}` + "/parkinglocations"
|
|
185
|
-
- formát dat
|
|
186
|
-
- protokol: http
|
|
187
|
-
- datový typ: json
|
|
188
|
-
- validační schéma: [smart4CityLocationJsonSchema](../src/schema-definitions/datasources/Smart4CityLocationJsonSchema.ts)
|
|
189
|
-
- příklad vstupnich dat: [smart4CityInputDataFixture](../test/integration-engine/data/Smart4CityInputDataFixture.ts)
|
|
190
|
-
- frekvence stahování
|
|
191
|
-
- dle `cron.dataplatform.parkings.generateSmart4CityTaskList`
|
|
192
|
-
- názvy rabbitmq front
|
|
193
|
-
- dataplatform.parkings.updateSmart4CityMeasurements
|
|
183
|
+
- dataplatform.parkings.updateSmart4CityData
|
|
184
|
+
- vstupem do fronty je json konfigurace viz schema [UpdateSmart4CityDataValidationSchema](../src/integration-engine/workers/schemas/UpdateSmart4CityDataSchema.ts)
|
|
185
|
+
- příklad vstupu `{"type":"measurements"}` spustí pouze aktualizaci měření, dále je možné použít typ `data` to aktualizuje informace o parkovištích a parkovacích místech. Typ `all` aktualizuje jak parkoviště tak i měření
|
|
194
186
|
|
|
195
187
|
#### _parkomats_
|
|
196
188
|
- zdroj dat
|
|
@@ -234,44 +226,20 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
234
226
|
- parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
|
|
235
227
|
- přestože přesná data nedostáváme, tak ukládáme do tabulky hodnoty `available_spot_number` stav ve významu jestli je parkoviště volné. Absolutní počet volných míst není znám a je třeba s tím počítat na výstupním API.
|
|
236
228
|
|
|
237
|
-
#### Task
|
|
238
|
-
|
|
239
|
-
- vstupní rabbitmq fronta
|
|
240
|
-
- název: `dataplatform.parkings.generateSmart4CityTaskList`
|
|
241
|
-
- parametry:
|
|
242
|
-
- type: `locations`/`measurements`
|
|
243
|
-
- závislé fronty
|
|
244
|
-
- název: `dataplatform.parkings.updateSmart4CityLocations` & `dataplatform.parkings.updateSmart4CityMeasurements`
|
|
245
|
-
- parametry:
|
|
246
|
-
- code: `kod města` napr. `nymburk`
|
|
247
|
-
- datové zdroje
|
|
248
|
-
- Smart4City - seznam měst (http)
|
|
249
|
-
|
|
250
|
-
#### Task _UpdateSmart4CityLocationsTask_
|
|
229
|
+
#### Task _UpdateSmart4CityDataTask_
|
|
251
230
|
|
|
252
231
|
- vstupní rabbitmq fronta
|
|
253
|
-
- název: `dataplatform.parkings.
|
|
232
|
+
- název: `dataplatform.parkings.updateSmart4CityData`
|
|
254
233
|
- parametry:
|
|
255
|
-
-
|
|
234
|
+
- příklad vstupu `{"type":"measurements"}` spustí pouze aktualizaci měření, dále je možné použít typ `data` to aktualizuje informace o parkovištích a parkovacích místech. Typ `all` aktualizuje jak parkoviště tak i měření
|
|
256
235
|
- datové zdroje
|
|
257
|
-
- Smart4City - data měst (
|
|
236
|
+
- Smart4City - data měst (GraphQL)
|
|
258
237
|
- transformace
|
|
259
|
-
- [
|
|
238
|
+
- [Smart4CityParkingTransformation](../src/integration-engine/transformations/smart4city/Smart4CityParkingTransformation.ts)
|
|
239
|
+
- [Smart4CityMeasurementTransformation](../src/integration-engine/transformations/smart4city/Smart4CityParkingMeasurementsTransformation.ts)
|
|
260
240
|
- data modely
|
|
261
241
|
- parkingsModel -> (schéma parkings) `parkings`
|
|
262
242
|
- parkingsLocationModel -> (schéma parkings) `parkings_location`
|
|
263
|
-
|
|
264
|
-
#### Task _UpdateSmart4CityMeasurementsTask_
|
|
265
|
-
|
|
266
|
-
- vstupní rabbitmq fronta
|
|
267
|
-
- název: `dataplatform.parkings.updateSmart4CityMeasurements`
|
|
268
|
-
- parametry:
|
|
269
|
-
- code: `kod města` napr. `nymburk`
|
|
270
|
-
- datové zdroje
|
|
271
|
-
- Smart4City - data měst (http)
|
|
272
|
-
- transformace
|
|
273
|
-
- [Smart4CityMeasurementTransformation](../src/integration-engine/transformations/Smart4CityMeasurementTransformation.ts) - transformace parkovišť, lokací i measurementů (pro každou garáž nálezí vždy jeden business objekt od každého)
|
|
274
|
-
- data modely
|
|
275
243
|
- parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
|
|
276
244
|
|
|
277
245
|
#### Task _GenerateIptOictParkingJobsTask_
|
|
@@ -299,7 +267,7 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
299
267
|
- geojson formát
|
|
300
268
|
- statická data
|
|
301
269
|
- transformace
|
|
302
|
-
- [IptOictParkingSpaceTransformation](../src/integration-engine/transformations/IptOictParkingSpaceTransformation.ts) - transformace lokací parkovišť
|
|
270
|
+
- [IptOictParkingSpaceTransformation](../src/integration-engine/transformations/IptOictParkingSpaceTransformation.ts) - transformace -lokací parkovišť
|
|
303
271
|
- [IptOictParkingTransformation](../src/integration-engine/transformations/IptOictParkingTransformation.ts) - transformace parkovišť
|
|
304
272
|
- [IptOictOpeningHoursTransformation](../src/integration-engine/transformations/iptoict/IptOictOpeningHoursTransformation.ts) - transformace otvíracích dob
|
|
305
273
|
- data modely
|
package/package.json
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"5f4f9cf2b8854ffce9fd61b2": {
|
|
3
|
+
"name": "Veřejné",
|
|
4
|
+
"code": "VEREJNE",
|
|
5
|
+
"access": null
|
|
6
|
+
},
|
|
7
|
+
"65f8201eca54680011fcf7c7": {
|
|
8
|
+
"name": "Rezervováno ZTP",
|
|
9
|
+
"code": "ZTP",
|
|
10
|
+
"access": "disabled"
|
|
11
|
+
},
|
|
12
|
+
"65fc0da4ca54680011fd14bb": {
|
|
13
|
+
"name": "Kolín - ČSOB",
|
|
14
|
+
"code": "KOL-ČSOB",
|
|
15
|
+
"access": "designated"
|
|
16
|
+
},
|
|
17
|
+
"65fc1279ca54680011fd14ce": {
|
|
18
|
+
"name": "Kolín - Městský úřad (časově omezené)",
|
|
19
|
+
"code": "KOL-MÚ",
|
|
20
|
+
"access": "designated"
|
|
21
|
+
},
|
|
22
|
+
"65fc133aca54680011fd14e1": {
|
|
23
|
+
"name": "Kolín - Městský úřad (trvale)",
|
|
24
|
+
"code": "KOL-MÚ2",
|
|
25
|
+
"access": "designated"
|
|
26
|
+
},
|
|
27
|
+
"65fc1495ca54680011fd14e2": {
|
|
28
|
+
"name": "Kolín - Dr. Max",
|
|
29
|
+
"code": "KOL-DRMAX",
|
|
30
|
+
"access": "designated"
|
|
31
|
+
},
|
|
32
|
+
"65fc18adca54680011fd14f5": {
|
|
33
|
+
"name": "Kolín - Držitelé AB",
|
|
34
|
+
"code": "KOL-AB",
|
|
35
|
+
"access": "designated"
|
|
36
|
+
},
|
|
37
|
+
"65fc1e1dca54680011fd1522": {
|
|
38
|
+
"name": "Kolín - Vyprodáváme sklady",
|
|
39
|
+
"code": "KOL-V.SKLADY",
|
|
40
|
+
"access": "designated"
|
|
41
|
+
},
|
|
42
|
+
"68d66b43845fed00184bf524": {
|
|
43
|
+
"name": "Elektronabíječky",
|
|
44
|
+
"code": "ELEKTRO",
|
|
45
|
+
"access": "charging"
|
|
46
|
+
}
|
|
47
|
+
}
|
package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ISmart4CityList } from "../../../schema-definitions/datasources/interfaces/ISmart4CityList";
|
|
2
|
-
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
|
-
import { IDataSource } from "@golemio/core/dist/integration-engine";
|
|
4
|
-
import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
|
|
5
|
-
export declare class Smart4CityListDataSourceProvider implements IDataSourceProvider<ISmart4CityList[]> {
|
|
6
|
-
private config;
|
|
7
|
-
private static DATASOURCE_NAME;
|
|
8
|
-
constructor(config: ISimpleConfig);
|
|
9
|
-
getDataSource(): IDataSource<ISmart4CityList[]>;
|
|
10
|
-
private getProtocolStrategy;
|
|
11
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
var Smart4CityListDataSourceProvider_1;
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.Smart4CityListDataSourceProvider = void 0;
|
|
17
|
-
const Smart4CityListJsonSchema_1 = require("../../../schema-definitions/datasources/Smart4CityListJsonSchema");
|
|
18
|
-
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
19
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
20
|
-
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
21
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
22
|
-
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
23
|
-
let Smart4CityListDataSourceProvider = exports.Smart4CityListDataSourceProvider = Smart4CityListDataSourceProvider_1 = class Smart4CityListDataSourceProvider {
|
|
24
|
-
constructor(config) {
|
|
25
|
-
this.config = config;
|
|
26
|
-
}
|
|
27
|
-
getDataSource() {
|
|
28
|
-
return new integration_engine_1.DataSource(Smart4CityListDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "cities" }), new golemio_validator_1.JSONSchemaValidator(Smart4CityListDataSourceProvider_1.DATASOURCE_NAME, Smart4CityListJsonSchema_1.smart4CityListJsonSchema));
|
|
29
|
-
}
|
|
30
|
-
getProtocolStrategy() {
|
|
31
|
-
const url = new URL(this.config.getValue("old.datasources.parking.Smart4City.ApiBaseUrl"));
|
|
32
|
-
return new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
33
|
-
method: "GET",
|
|
34
|
-
url: url.toString(),
|
|
35
|
-
headers: { "Content-Type": "application/json" },
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
Smart4CityListDataSourceProvider.DATASOURCE_NAME = "Smart4CityListDataSource";
|
|
40
|
-
exports.Smart4CityListDataSourceProvider = Smart4CityListDataSourceProvider = Smart4CityListDataSourceProvider_1 = __decorate([
|
|
41
|
-
(0, tsyringe_1.injectable)(),
|
|
42
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
43
|
-
__metadata("design:paramtypes", [Object])
|
|
44
|
-
], Smart4CityListDataSourceProvider);
|
|
45
|
-
//# sourceMappingURL=Smart4CityListDataSourceProvider.js.map
|
package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Smart4CityListDataSourceProvider.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+GAAqF;AAGrF,wEAAqE;AACrE,8EAAsG;AACtG,6IAA0I;AAC1I,mFAAkF;AAClF,iEAAwE;AAIjE,IAAM,gCAAgC,mFAAtC,MAAM,gCAAgC;IAGzC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa;QAChB,OAAO,IAAI,+BAAU,CACjB,kCAAgC,CAAC,eAAe,EAChD,IAAI,CAAC,mBAAmB,EAAE,EAC1B,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EACnD,IAAI,uCAAmB,CAAC,kCAAgC,CAAC,eAAe,EAAE,mDAAwB,CAAC,CACtG,CAAC;IACN,CAAC;IAEO,mBAAmB;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,+CAA+C,CAAC,CAAC,CAAC;QAEnG,OAAO,IAAI,qDAAyB,CAAC;YACjC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAClD,CAAC,CAAC;IACP,CAAC;;AArBc,gDAAe,GAAG,0BAA0B,AAA7B,CAA8B;2CADnD,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,gCAAgC,CAuB5C"}
|
package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ISmart4CityLocation } from "../../../schema-definitions/datasources/interfaces/ISmart4CityLocation";
|
|
2
|
-
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
|
-
import { IDataSource } from "@golemio/core/dist/integration-engine";
|
|
4
|
-
import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
|
|
5
|
-
export declare class Smart4CityLocationDataSourceProvider implements IDataSourceProvider<ISmart4CityLocation[]> {
|
|
6
|
-
private config;
|
|
7
|
-
private static DATASOURCE_NAME;
|
|
8
|
-
constructor(config: ISimpleConfig);
|
|
9
|
-
getDataSource(cityCode: string): IDataSource<ISmart4CityLocation[]>;
|
|
10
|
-
private getProtocolStrategy;
|
|
11
|
-
}
|
package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
-
};
|
|
17
|
-
var Smart4CityLocationDataSourceProvider_1;
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.Smart4CityLocationDataSourceProvider = void 0;
|
|
20
|
-
const Smart4CityLocationJsonSchema_1 = require("../../../schema-definitions/datasources/Smart4CityLocationJsonSchema");
|
|
21
|
-
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
22
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
23
|
-
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
24
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
25
|
-
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
26
|
-
const path_1 = __importDefault(require("path"));
|
|
27
|
-
let Smart4CityLocationDataSourceProvider = exports.Smart4CityLocationDataSourceProvider = Smart4CityLocationDataSourceProvider_1 = class Smart4CityLocationDataSourceProvider {
|
|
28
|
-
constructor(config) {
|
|
29
|
-
this.config = config;
|
|
30
|
-
}
|
|
31
|
-
getDataSource(cityCode) {
|
|
32
|
-
return new integration_engine_1.DataSource(Smart4CityLocationDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(cityCode), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "parkinglocations" }), new golemio_validator_1.JSONSchemaValidator(Smart4CityLocationDataSourceProvider_1.DATASOURCE_NAME, Smart4CityLocationJsonSchema_1.smart4CityLocationJsonSchema));
|
|
33
|
-
}
|
|
34
|
-
getProtocolStrategy(cityCode) {
|
|
35
|
-
const url = new URL(this.config.getValue("old.datasources.parking.Smart4City.ApiBaseUrl"));
|
|
36
|
-
url.pathname = path_1.default.join(url.pathname, cityCode, "/parkinglocations");
|
|
37
|
-
return new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
38
|
-
method: "GET",
|
|
39
|
-
url: url.toString(),
|
|
40
|
-
headers: { "Content-Type": "application/json" },
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
Smart4CityLocationDataSourceProvider.DATASOURCE_NAME = "Smart4CityLocationDataSource";
|
|
45
|
-
exports.Smart4CityLocationDataSourceProvider = Smart4CityLocationDataSourceProvider = Smart4CityLocationDataSourceProvider_1 = __decorate([
|
|
46
|
-
(0, tsyringe_1.injectable)(),
|
|
47
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
48
|
-
__metadata("design:paramtypes", [Object])
|
|
49
|
-
], Smart4CityLocationDataSourceProvider);
|
|
50
|
-
//# sourceMappingURL=Smart4CityLocationDataSourceProvider.js.map
|
package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Smart4CityLocationDataSourceProvider.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,uHAA6F;AAG7F,wEAAqE;AACrE,8EAAsG;AACtG,6IAA0I;AAC1I,mFAAkF;AAClF,iEAAwE;AACxE,gDAAwB;AAIjB,IAAM,oCAAoC,2FAA1C,MAAM,oCAAoC;IAG7C,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa,CAAC,QAAgB;QACjC,OAAO,IAAI,+BAAU,CACjB,sCAAoC,CAAC,eAAe,EACpD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAClC,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,EAC7D,IAAI,uCAAmB,CAAC,sCAAoC,CAAC,eAAe,EAAE,2DAA4B,CAAC,CAC9G,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,+CAA+C,CAAC,CAAC,CAAC;QACnG,GAAG,CAAC,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEtE,OAAO,IAAI,qDAAyB,CAAC;YACjC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAClD,CAAC,CAAC;IACP,CAAC;;AAtBc,oDAAe,GAAG,8BAA8B,AAAjC,CAAkC;+CADvD,oCAAoC;IADhD,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,oCAAoC,CAwBhD"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IParkingProviderDataSourceFactory } from "../interfaces/IParkingProviderDataSourceFactory";
|
|
2
|
-
import { ISmart4CityList } from "../../../schema-definitions/datasources/interfaces/ISmart4CityList";
|
|
3
|
-
export declare class SmartCityListDatasourceCache {
|
|
4
|
-
private dataSourceFactory;
|
|
5
|
-
private data;
|
|
6
|
-
private dataSource;
|
|
7
|
-
private readonly updatedAt;
|
|
8
|
-
constructor(dataSourceFactory: IParkingProviderDataSourceFactory);
|
|
9
|
-
getAll(): Promise<Pick<ISmart4CityList, "code">[]>;
|
|
10
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.SmartCityListDatasourceCache = void 0;
|
|
16
|
-
const ParkingProviderEnum_1 = require("../helpers/ParkingProviderEnum");
|
|
17
|
-
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
18
|
-
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
19
|
-
const TWELVE_HOURS = 12 * 60 * 60 * 1000;
|
|
20
|
-
let SmartCityListDatasourceCache = exports.SmartCityListDatasourceCache = class SmartCityListDatasourceCache {
|
|
21
|
-
constructor(dataSourceFactory) {
|
|
22
|
-
this.dataSourceFactory = dataSourceFactory;
|
|
23
|
-
this.dataSource = this.dataSourceFactory.getDataSource(ParkingProviderEnum_1.ParkingProvider.Smart4CityList);
|
|
24
|
-
this.data = [];
|
|
25
|
-
this.updatedAt = new Date().getTime();
|
|
26
|
-
}
|
|
27
|
-
async getAll() {
|
|
28
|
-
const now = Date.now();
|
|
29
|
-
if (!this.data.length || this.updatedAt + TWELVE_HOURS < now) {
|
|
30
|
-
const response = await this.dataSource.getAll();
|
|
31
|
-
this.data = response.map((el) => ({ code: el.code }));
|
|
32
|
-
}
|
|
33
|
-
return this.data;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
exports.SmartCityListDatasourceCache = SmartCityListDatasourceCache = __decorate([
|
|
37
|
-
(0, tsyringe_1.injectable)(),
|
|
38
|
-
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingProviderDataSourceFactory)),
|
|
39
|
-
__metadata("design:paramtypes", [Object])
|
|
40
|
-
], SmartCityListDatasourceCache);
|
|
41
|
-
//# sourceMappingURL=SmartCityListDatasourceCache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SmartCityListDatasourceCache.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wEAA8E;AAK9E,yEAAoE;AAEpE,iEAAwE;AAExE,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAGlC,IAAM,4BAA4B,0CAAlC,MAAM,4BAA4B;IAKrC,YAEY,iBAAoD;QAApD,sBAAiB,GAAjB,iBAAiB,CAAmC;QAE5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,qCAAe,CAAC,cAAc,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,GAAG,EAAE;YAC1D,MAAM,QAAQ,GAAsB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACzD;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ,CAAA;uCAvBY,4BAA4B;IADxC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,gCAAgC,CAAC,CAAA;;GANzD,4BAA4B,CAuBxC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IParkingMeasurements } from "../ParkingInterface";
|
|
2
|
-
import { ISmart4CityLocation } from "../../schema-definitions/datasources/interfaces/ISmart4CityLocation";
|
|
3
|
-
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
4
|
-
export declare class Smart4CityMeasurementTransformation extends AbstractTransformation<ISmart4CityLocation, IParkingMeasurements> {
|
|
5
|
-
private transformationDate;
|
|
6
|
-
name: string;
|
|
7
|
-
constructor(transformationDate: Date);
|
|
8
|
-
protected transformInternal: (data: ISmart4CityLocation) => IParkingMeasurements;
|
|
9
|
-
transformArray: (data: ISmart4CityLocation[]) => IParkingMeasurements[];
|
|
10
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Smart4CityMeasurementTransformation = void 0;
|
|
4
|
-
const SourceEnum_1 = require("../../helpers/constants/SourceEnum");
|
|
5
|
-
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
6
|
-
class Smart4CityMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
|
-
constructor(transformationDate) {
|
|
8
|
-
super();
|
|
9
|
-
this.transformationDate = transformationDate;
|
|
10
|
-
this.name = "Smart4CityLocationTransformation";
|
|
11
|
-
this.transformInternal = (data) => {
|
|
12
|
-
return {
|
|
13
|
-
source: SourceEnum_1.SourceEnum.Smart4City,
|
|
14
|
-
source_id: data.id.toString(),
|
|
15
|
-
parking_id: `${SourceEnum_1.SourceEnum.Smart4City}-${data.id}`,
|
|
16
|
-
total_spot_number: data.capacity,
|
|
17
|
-
available_spot_number: data.correctionunoccupied,
|
|
18
|
-
occupied_spot_number: Number.isInteger(data.capacity) && Number.isInteger(data.correctionunoccupied)
|
|
19
|
-
? data.capacity - data.correctionunoccupied
|
|
20
|
-
: null,
|
|
21
|
-
date_modified: this.transformationDate.toISOString(),
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
this.transformArray = (data) => {
|
|
25
|
-
const result = [];
|
|
26
|
-
for (const el of data) {
|
|
27
|
-
if (!el.closed && el.capacity && el.correctionunoccupied !== null) {
|
|
28
|
-
result.push(this.transformElement(el));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.Smart4CityMeasurementTransformation = Smart4CityMeasurementTransformation;
|
|
36
|
-
//# sourceMappingURL=Smart4CityMeasurementTransformation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Smart4CityMeasurementTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/Smart4CityMeasurementTransformation.ts"],"names":[],"mappings":";;;AAAA,mEAA2D;AAG3D,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,uBAAU,CAAC,UAAU;gBAC7B,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;gBAC7B,UAAU,EAAE,GAAG,uBAAU,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE;gBACjD,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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Smart4CityTaskTypeSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAmE;AAMnE,MAAa,kCAAkC;CAG9C;AAHD,gFAGC;AADG;IADC,IAAA,wBAAM,EAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;;gEACxB"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { SmartCityListDatasourceCache } from "../../datasources/smart4city/SmartCityListDatasourceCache";
|
|
2
|
-
import { ISmart4CityTaskTypeInput, Smart4CityTaskTypeValidationSchema } from "../schemas/Smart4CityTaskTypeSchema";
|
|
3
|
-
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
4
|
-
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
5
|
-
export declare enum Smart4CityTaskType {
|
|
6
|
-
measurements = "measurements"
|
|
7
|
-
}
|
|
8
|
-
export declare class GenerateSmart4CityTaskListTask extends AbstractTask<ISmart4CityTaskTypeInput> {
|
|
9
|
-
private config;
|
|
10
|
-
private dataSource;
|
|
11
|
-
readonly queueName = "generateSmart4CityTaskList";
|
|
12
|
-
readonly queueTtl: number;
|
|
13
|
-
readonly schema: typeof Smart4CityTaskTypeValidationSchema;
|
|
14
|
-
constructor(config: ISimpleConfig, dataSource: SmartCityListDatasourceCache);
|
|
15
|
-
execute(data: ISmart4CityTaskTypeInput): Promise<void>;
|
|
16
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.GenerateSmart4CityTaskListTask = exports.Smart4CityTaskType = void 0;
|
|
16
|
-
const SmartCityListDatasourceCache_1 = require("../../datasources/smart4city/SmartCityListDatasourceCache");
|
|
17
|
-
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
18
|
-
const constants_1 = require("../constants");
|
|
19
|
-
const Smart4CityTaskTypeSchema_1 = require("../schemas/Smart4CityTaskTypeSchema");
|
|
20
|
-
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
21
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
22
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
23
|
-
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
24
|
-
var Smart4CityTaskType;
|
|
25
|
-
(function (Smart4CityTaskType) {
|
|
26
|
-
Smart4CityTaskType["measurements"] = "measurements";
|
|
27
|
-
})(Smart4CityTaskType || (exports.Smart4CityTaskType = Smart4CityTaskType = {}));
|
|
28
|
-
let GenerateSmart4CityTaskListTask = exports.GenerateSmart4CityTaskListTask = class GenerateSmart4CityTaskListTask extends integration_engine_1.AbstractTask {
|
|
29
|
-
constructor(config, dataSource) {
|
|
30
|
-
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
31
|
-
this.config = config;
|
|
32
|
-
this.dataSource = dataSource;
|
|
33
|
-
this.queueName = "generateSmart4CityTaskList";
|
|
34
|
-
this.queueTtl = 3 * 60 * 60 * 1000; // 3h
|
|
35
|
-
this.schema = Smart4CityTaskTypeSchema_1.Smart4CityTaskTypeValidationSchema;
|
|
36
|
-
}
|
|
37
|
-
async execute(data) {
|
|
38
|
-
let sourceDataCityList = [];
|
|
39
|
-
try {
|
|
40
|
-
sourceDataCityList = await this.dataSource.getAll();
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
44
|
-
throw err;
|
|
45
|
-
}
|
|
46
|
-
throw new golemio_errors_1.DatasourceError("Error while fetching Smart4City list", this.constructor.name, err);
|
|
47
|
-
}
|
|
48
|
-
const exchange = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
49
|
-
for (const city of sourceDataCityList) {
|
|
50
|
-
await integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + constants_1.NEW_PARKINGS_WORKER_NAME.toLowerCase(), "updateSmart4CityMeasurements", { code: city.code });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
exports.GenerateSmart4CityTaskListTask = GenerateSmart4CityTaskListTask = __decorate([
|
|
55
|
-
(0, tsyringe_1.injectable)(),
|
|
56
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
57
|
-
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.SmartCityListDatasourceCache)),
|
|
58
|
-
__metadata("design:paramtypes", [Object, SmartCityListDatasourceCache_1.SmartCityListDatasourceCache])
|
|
59
|
-
], GenerateSmart4CityTaskListTask);
|
|
60
|
-
//# sourceMappingURL=GenerateSmart4CityTaskListTask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateSmart4CityTaskListTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4GAAuG;AACvG,yEAAoE;AACpE,4CAAiE;AACjE,kFAA4H;AAG5H,wEAAqE;AACrE,8EAAmF;AACnF,6EAAiG;AACjG,iEAAwE;AAExE,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,mDAA6B,CAAA;AACjC,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B;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;IAEM,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC/C,IAAI,kBAAkB,GAAyC,EAAE,CAAC;QAElE,IAAI;YACA,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;SACvD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;YAED,MAAM,IAAI,gCAAe,CAAC,sCAAsC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACjG;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;QAE1E,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;YACnC,MAAM,iCAAY,CAAC,qBAAqB,CACpC,QAAQ,GAAG,GAAG,GAAG,oCAAwB,CAAC,WAAW,EAAE,EACvD,8BAA8B,EAC9B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACtB,CAAC;SACL;IACL,CAAC;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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IParkingProviderDataSourceFactory } from "../../datasources/interfaces/IParkingProviderDataSourceFactory";
|
|
2
|
-
import { IUpdateSmart4CityInput, UpdateSmart4CityValidationSchema } from "../schemas/UpdateSmart4CitySchema";
|
|
3
|
-
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
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
|
-
}
|