@golemio/parkings 1.1.1-dev.567930847 → 1.1.1-dev.574902058

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 (57) hide show
  1. package/db/example/clear_test_data.sql +5 -0
  2. package/dist/integration-engine/ParkomatsWorker.d.ts +10 -0
  3. package/dist/integration-engine/ParkomatsWorker.js +77 -0
  4. package/dist/integration-engine/ParkomatsWorker.js.map +1 -0
  5. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesDataSourceFactory.d.ts +5 -0
  6. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesDataSourceFactory.js +19 -0
  7. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesDataSourceFactory.js.map +1 -0
  8. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.d.ts +10 -0
  9. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.js +50 -0
  10. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.js.map +1 -0
  11. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.d.ts +8 -0
  12. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.js +42 -0
  13. package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.js.map +1 -0
  14. package/dist/integration-engine/helpers/LocationBuilderHelper.js +2 -2
  15. package/dist/integration-engine/helpers/LocationBuilderHelper.js.map +1 -1
  16. package/dist/integration-engine/index.d.ts +3 -0
  17. package/dist/integration-engine/index.js +3 -0
  18. package/dist/integration-engine/index.js.map +1 -1
  19. package/dist/integration-engine/models/ParkingsModel.d.ts +4 -0
  20. package/dist/integration-engine/models/ParkingsModel.js +17 -0
  21. package/dist/integration-engine/models/ParkingsModel.js.map +1 -0
  22. package/dist/integration-engine/queueDefinitions.js +27 -0
  23. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  24. package/dist/integration-engine/transformations/ParkomatsTransformation.d.ts +6 -0
  25. package/dist/integration-engine/transformations/ParkomatsTransformation.js +41 -0
  26. package/dist/integration-engine/transformations/ParkomatsTransformation.js.map +1 -0
  27. package/dist/output-gateway/ParkingsRouter.d.ts +0 -2
  28. package/dist/output-gateway/ParkingsRouter.js +6 -7
  29. package/dist/output-gateway/ParkingsRouter.js.map +1 -1
  30. package/dist/output-gateway/models/ParkingsLocationModel.d.ts +4 -39
  31. package/dist/output-gateway/models/ParkingsLocationModel.js +11 -121
  32. package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
  33. package/dist/output-gateway/models/ParkingsModel.d.ts +4 -1
  34. package/dist/output-gateway/models/ParkingsModel.js +94 -8
  35. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  36. package/dist/output-gateway/models/helpers/DetailAttributesHelper.d.ts +2 -0
  37. package/dist/output-gateway/models/helpers/DetailAttributesHelper.js +53 -0
  38. package/dist/output-gateway/models/helpers/DetailAttributesHelper.js.map +1 -0
  39. package/dist/output-gateway/models/index.js +1 -1
  40. package/dist/output-gateway/models/index.js.map +1 -1
  41. package/dist/output-gateway/transformations/ParkingsTransformationFabric.d.ts +0 -2
  42. package/dist/output-gateway/transformations/ParkingsTransformationFabric.js +0 -7
  43. package/dist/output-gateway/transformations/ParkingsTransformationFabric.js.map +1 -1
  44. package/dist/schema-definitions/Parkomats.d.ts +14 -0
  45. package/dist/schema-definitions/Parkomats.js +50 -0
  46. package/dist/schema-definitions/Parkomats.js.map +1 -0
  47. package/dist/schema-definitions/datasources/IZtpParkingJsonFeature.d.ts +20 -0
  48. package/dist/schema-definitions/datasources/IZtpParkingJsonFeature.js +3 -0
  49. package/dist/schema-definitions/datasources/IZtpParkingJsonFeature.js.map +1 -0
  50. package/dist/schema-definitions/datasources/ZtpParkingsJsonSchema.d.ts +13 -0
  51. package/dist/schema-definitions/datasources/ZtpParkingsJsonSchema.js +109 -0
  52. package/dist/schema-definitions/datasources/ZtpParkingsJsonSchema.js.map +1 -0
  53. package/dist/schema-definitions/index.d.ts +1 -0
  54. package/dist/schema-definitions/index.js +5 -15
  55. package/dist/schema-definitions/index.js.map +1 -1
  56. package/docs/implementation-documentation.md +18 -1
  57. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ DELETE FROM public.parkings_tariffs;
2
+ DELETE FROM public.parkings_measurements_actual;
3
+ DELETE FROM public.parkings_measurements_part;
4
+ DELETE FROM public.parkings_location;
5
+ DELETE FROM public.parkings;
@@ -0,0 +1,10 @@
1
+ import { BaseWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class ParkomatsWorker extends BaseWorker {
3
+ private dataSource;
4
+ private dataSourceHTTPSettings;
5
+ private transformation;
6
+ private model;
7
+ private dataSourceUrl;
8
+ constructor();
9
+ refreshDataInDB: (msg: any) => Promise<void>;
10
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ParkomatsWorker = void 0;
16
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
17
+ const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
18
+ const config_1 = require("@golemio/core/dist/integration-engine/config");
19
+ const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
20
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
21
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
22
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
23
+ const _sch_1 = require("../schema-definitions");
24
+ const ParkomatsTransformation_1 = require("./transformations/ParkomatsTransformation");
25
+ class ParkomatsWorker extends workers_1.BaseWorker {
26
+ constructor() {
27
+ super();
28
+ this.dataSourceUrl = config_1.config.datasources.TSKParkomats + "/parkingsessions?from=";
29
+ // TODO resolve custom from/to use in different endpoint (/parkingsessionshistory)
30
+ this.refreshDataInDB = (msg) => __awaiter(this, void 0, void 0, function* () {
31
+ let from;
32
+ let to;
33
+ try {
34
+ // setting custom interval from message data
35
+ const customInterval = JSON.parse(msg.content.toString());
36
+ if (customInterval.from && customInterval.to) {
37
+ from = moment_timezone_1.default.tz(new Date(customInterval.from), "Europe/Prague");
38
+ to = moment_timezone_1.default.tz(new Date(customInterval.to), "Europe/Prague");
39
+ helpers_1.log.debug(`Interval from: ${from} to ${to} was used.`);
40
+ }
41
+ else {
42
+ throw new Error("Interval must contain from and to properties.");
43
+ }
44
+ }
45
+ catch (err) {
46
+ // setting default interval (normal situation)
47
+ to = moment_timezone_1.default.tz(new Date(), "Europe/Prague");
48
+ from = to.clone();
49
+ from.subtract(12, "minutes");
50
+ }
51
+ const url = this.dataSourceUrl + from.format("YYYY-MM-DDTHH:mm:ss") + `&to=${to.format("YYYY-MM-DDTHH:mm:ss")}`;
52
+ this.dataSourceHTTPSettings.url = url;
53
+ this.dataSource.setProtocolStrategy(new datasources_1.HTTPProtocolStrategy(this.dataSourceHTTPSettings));
54
+ const data = yield this.dataSource.getAll();
55
+ const transformedData = yield this.transformation.transform(data);
56
+ yield this.model.save(transformedData);
57
+ });
58
+ this.dataSourceHTTPSettings = {
59
+ headers: {
60
+ authorization: config_1.config.datasources.TSKParkomatsToken,
61
+ },
62
+ method: "GET",
63
+ // Warning! Url must be filled with required `from` and `to` querystring param
64
+ // if `to` omitted, API returns empty array!
65
+ url: this.dataSourceUrl,
66
+ };
67
+ this.dataSource = new datasources_1.DataSource(_sch_1.Parkomats.name + "DataSource", new datasources_1.HTTPProtocolStrategy(this.dataSourceHTTPSettings), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.ObjectKeysValidator(_sch_1.Parkomats.name + "DataSource", _sch_1.Parkomats.datasourceMongooseSchemaObject));
68
+ this.model = new models_1.PostgresModel(_sch_1.Parkomats.name + "Model", {
69
+ outputSequelizeAttributes: _sch_1.Parkomats.outputSequelizeAttributes,
70
+ pgTableName: _sch_1.Parkomats.pgTableName,
71
+ savingType: "insertOrUpdate",
72
+ }, new golemio_validator_1.Validator(_sch_1.Parkomats.name + "ModelValidator", _sch_1.Parkomats.outputMongooseSchemaObject));
73
+ this.transformation = new ParkomatsTransformation_1.ParkomatsTransformation();
74
+ }
75
+ }
76
+ exports.ParkomatsWorker = ParkomatsWorker;
77
+ //# sourceMappingURL=ParkomatsWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkomatsWorker.js","sourceRoot":"","sources":["../../src/integration-engine/ParkomatsWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { DataSource } from "@golemio/core/dist/integration-engine/datasources";
2
+ export declare class ZtpParkingZonesDataSourceFactory {
3
+ static readonly API_URL: any;
4
+ static getDataSource(): DataSource;
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZtpParkingZonesDataSourceFactory = void 0;
4
+ const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
5
+ const config_1 = require("@golemio/core/dist/integration-engine/config");
6
+ const ZtpParkingsJsonSchema_1 = require("../../schema-definitions/datasources/ZtpParkingsJsonSchema");
7
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
+ class ZtpParkingZonesDataSourceFactory {
9
+ static getDataSource() {
10
+ return new datasources_1.DataSource(ZtpParkingsJsonSchema_1.ZtpParkingsJsonSchema.name, new datasources_1.HTTPProtocolStrategy({
11
+ headers: {},
12
+ method: "GET",
13
+ url: ZtpParkingZonesDataSourceFactory.API_URL,
14
+ }), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ZtpParkingsJsonSchema_1.ZtpParkingsJsonSchema.name, ZtpParkingsJsonSchema_1.ZtpParkingsJsonSchema.jsonSchema));
15
+ }
16
+ }
17
+ exports.ZtpParkingZonesDataSourceFactory = ZtpParkingZonesDataSourceFactory;
18
+ ZtpParkingZonesDataSourceFactory.API_URL = config_1.config.datasources.ZtpParkingsApiUrl;
19
+ //# sourceMappingURL=ZtpParkingZonesDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZtpParkingZonesDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/ZtpParkingZones/ZtpParkingZonesDataSourceFactory.ts"],"names":[],"mappings":";;;AAAA,mFAA2H;AAC3H,yEAAsE;AACtE,sGAA+E;AAC/E,mFAAkF;AAElF,MAAa,gCAAgC;IAGlC,MAAM,CAAC,aAAa;QACvB,OAAO,IAAI,wBAAU,CACjB,6CAAqB,CAAC,IAAI,EAC1B,IAAI,kCAAoB,CAAC;YACrB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gCAAgC,CAAC,OAAO;SAChD,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,6CAAqB,CAAC,IAAI,EAAE,6CAAqB,CAAC,UAAU,CAAC,CACxF,CAAC;IACN,CAAC;;AAdL,4EAeC;AAd0B,wCAAO,GAAG,eAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
2
+ import { IZtpParkingJsonFeature } from "../../schema-definitions/datasources/IZtpParkingJsonFeature";
3
+ import { IParking } from "../ParkingInterface";
4
+ export declare class ZtpParkingZonesTransformation extends BaseTransformation implements ITransformation {
5
+ name: string;
6
+ transformationDate: Date;
7
+ constructor(transformationDate: Date);
8
+ transform: (data: IZtpParkingJsonFeature[]) => Promise<IParking[]>;
9
+ transformElement: (element: IZtpParkingJsonFeature) => Promise<IParking>;
10
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ZtpParkingZonesTransformation = void 0;
13
+ const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
14
+ const GeodataHelper_1 = require("../helpers/GeodataHelper");
15
+ class ZtpParkingZonesTransformation extends transformations_1.BaseTransformation {
16
+ constructor(transformationDate) {
17
+ super();
18
+ this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
19
+ let parkings = [];
20
+ for (const element of data) {
21
+ const parking = yield this.transformElement(element);
22
+ parkings.push(parking);
23
+ }
24
+ return parkings;
25
+ });
26
+ this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
27
+ const address = yield (0, GeodataHelper_1.getAddressFromPoint)(element.geometry);
28
+ let parkingName = "Parkoviště ZTP";
29
+ if (typeof address != "undefined") {
30
+ parkingName = `Parkoviště ZTP ${address.street_address}, ${address.address_region}`;
31
+ }
32
+ return {
33
+ source: "IPR ZTP",
34
+ source_id: `ztp-${element.properties.OBJECTID.toString()}`,
35
+ data_provider: "opendata.iprpraha.cz",
36
+ date_modified: `${this.transformationDate.getTime()}`,
37
+ location: element.geometry,
38
+ name: parkingName,
39
+ total_spot_number: element.properties.POCET_PS,
40
+ parking_type: "disabled_parking",
41
+ centroid: element.geometry,
42
+ address: address,
43
+ };
44
+ });
45
+ this.name = "ZtpParkings";
46
+ this.transformationDate = transformationDate;
47
+ }
48
+ }
49
+ exports.ZtpParkingZonesTransformation = ZtpParkingZonesTransformation;
50
+ //# sourceMappingURL=ZtpParkingZonesTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZtpParkingZonesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAA4G;AAG5G,4DAAgE;AAEhE,MAAa,6BAA8B,SAAQ,oCAAkB;IAIjE,YAAY,kBAAwB;QAChC,KAAK,EAAE,CAAC;QAKZ,cAAS,GAAG,CAAO,IAA8B,EAAuB,EAAE;YACtE,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;gBACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAA,CAAC;QAEF,qBAAgB,GAAG,CAAO,OAA+B,EAAqB,EAAE;YAC5E,MAAM,OAAO,GAAG,MAAM,IAAA,mCAAmB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5D,IAAI,WAAW,GAAG,gBAAgB,CAAC;YACnC,IAAI,OAAO,OAAO,IAAI,WAAW,EAAE;gBAC/B,WAAW,GAAG,kBAAkB,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;aACvF;YAED,OAAO;gBACH,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;gBAC1D,aAAa,EAAE,sBAAsB;gBACrC,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBACrD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,WAAW;gBACjB,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;gBAC9C,YAAY,EAAE,kBAAkB;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO;aACnB,CAAC;QACN,CAAC,CAAA,CAAC;QAjCE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;CAgCJ;AAxCD,sEAwCC"}
@@ -0,0 +1,8 @@
1
+ import { BaseWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class ZtpParkingZonesWorker extends BaseWorker {
3
+ private dataSource;
4
+ private transformer;
5
+ private parkingRepository;
6
+ constructor();
7
+ updateZtpParkings: () => Promise<void>;
8
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ZtpParkingZonesWorker = void 0;
13
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
14
+ const ZtpParkingZonesDataSourceFactory_1 = require("./ZtpParkingZonesDataSourceFactory");
15
+ const ZtpParkingZonesTransformation_1 = require("./ZtpParkingZonesTransformation");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
+ const ParkingsModel_1 = require("../models/ParkingsModel");
18
+ class ZtpParkingZonesWorker extends workers_1.BaseWorker {
19
+ constructor() {
20
+ super();
21
+ this.updateZtpParkings = () => __awaiter(this, void 0, void 0, function* () {
22
+ try {
23
+ const data = yield this.dataSource.getAll();
24
+ const transformedData = yield this.transformer.transform(data.features);
25
+ yield this.parkingRepository.save(transformedData);
26
+ }
27
+ catch (err) {
28
+ if (err instanceof golemio_errors_1.CustomError) {
29
+ throw err;
30
+ }
31
+ else {
32
+ throw new golemio_errors_1.CustomError(`Error while refreshing ZTP Parking data: ${err.message}`, true, this.constructor.name, undefined, err);
33
+ }
34
+ }
35
+ });
36
+ this.dataSource = ZtpParkingZonesDataSourceFactory_1.ZtpParkingZonesDataSourceFactory.getDataSource();
37
+ this.transformer = new ZtpParkingZonesTransformation_1.ZtpParkingZonesTransformation(new Date());
38
+ this.parkingRepository = new ParkingsModel_1.ParkingsModel();
39
+ }
40
+ }
41
+ exports.ZtpParkingZonesWorker = ZtpParkingZonesWorker;
42
+ //# sourceMappingURL=ZtpParkingZonesWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZtpParkingZonesWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA2E;AAE3E,yFAAwG;AACxG,mFAAkG;AAElG,6EAAuE;AACvE,2DAAyD;AAEzD,MAAa,qBAAsB,SAAQ,oBAAU;IAKjD;QACI,KAAK,EAAE,CAAC;QAML,sBAAiB,GAAG,GAAwB,EAAE;YACjD,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACtD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CACjB,4CAA4C,GAAG,CAAC,OAAO,EAAE,EACzD,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;iBACL;aACJ;QACL,CAAC,CAAA,CAAC;QAvBE,IAAI,CAAC,UAAU,GAAG,mEAAgC,CAAC,aAAa,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,IAAI,6DAA6B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAAa,EAAE,CAAC;IACjD,CAAC;CAqBJ;AA/BD,sDA+BC"}
@@ -28,13 +28,13 @@ const getLocationData = (dataTsk, dataIprTransformed) => __awaiter(void 0, void
28
28
  };
29
29
  if (!dataIprTransformed || dataIprTransformed.length === 1) {
30
30
  return [
31
- Object.assign(Object.assign({}, locationBaseData), { id: dataIprTransformed ? dataIprTransformed[0].id : (0, uuid_by_string_1.default)(JSON.stringify(locationBaseData)) }),
31
+ Object.assign(Object.assign({}, locationBaseData), { id: dataIprTransformed ? dataIprTransformed[0].id : (0, uuid_by_string_1.default)(JSON.stringify(locationBaseData)), total_spot_number: dataIprTransformed ? dataIprTransformed[0].total_spot_number : dataTsk.total_spot_number }),
32
32
  ];
33
33
  }
34
34
  return Promise.all(dataIprTransformed.map((el) => __awaiter(void 0, void 0, void 0, function* () {
35
35
  const centroid = (0, GeodataHelper_1.getCentroid)(el.location);
36
36
  const address = centroid ? yield (0, GeodataHelper_1.getAddressFromPoint)(centroid) : undefined;
37
- return Object.assign(Object.assign({ id: el.id }, locationBaseData), { centroid,
37
+ return Object.assign(Object.assign({ id: el.id }, locationBaseData), { location: el.location, total_spot_number: el.total_spot_number, centroid,
38
38
  address });
39
39
  })));
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LocationBuilderHelper.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LocationBuilderHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oEAA6C;AAC7C,mDAA8F;AAE9F,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD,MAAM,eAAe,GAAG,CACpB,OAAiB,EACjB,kBAA+D,EACpC,EAAE;IAC7B,MAAM,gBAAgB,GAAiC;QACnD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC/B,CAAC;IAEF,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACxD,OAAO;4CAEI,gBAAgB,KACnB,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SAE5G,CAAC;KACL;IAED,OAAO,OAAO,CAAC,GAAG,CACd,kBAAkB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAA,2BAAW,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,mCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,qCACI,EAAE,EAAE,EAAE,CAAC,EAAE,IACN,gBAAgB,KACnB,QAAQ;YACR,OAAO,IACT;IACN,CAAC,CAAA,CAAC,CACL,CAAC;AACN,CAAC,CAAA,CAAC;AAEK,MAAM,wBAAwB,GAAG,CACpC,OAAmB,EACnB,OAA+B,EACgC,EAAE;IACjE,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,EAAgB;QACzB,SAAS,EAAE,EAAwB;KACtC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;QACxB,MAAM,WAAW,qBAAQ,IAAI,CAAE,CAAC;QAEhC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzB,WAAW,CAAC,QAAQ,GAAG,IAAA,+BAAe,EAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC;SAClD;QAED,sCAAsC;QACtC,WAAW,CAAC,QAAQ,GAAG,IAAA,2BAAW,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEzD,qCAAqC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,WAAW,CAAC,OAAO,GAAG,MAAM,IAAA,mCAAmB,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACzE;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AA/BW,QAAA,wBAAwB,4BA+BnC"}
1
+ {"version":3,"file":"LocationBuilderHelper.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LocationBuilderHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oEAA6C;AAC7C,mDAA8F;AAE9F,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD,MAAM,eAAe,GAAG,CACpB,OAAiB,EACjB,kBAA+D,EACpC,EAAE;IAC7B,MAAM,gBAAgB,GAAiC;QACnD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC/B,CAAC;IAEF,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACxD,OAAO;4CAEI,gBAAgB,KACnB,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,wBAAe,EAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EACrG,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;SAElH,CAAC;KACL;IAED,OAAO,OAAO,CAAC,GAAG,CACd,kBAAkB,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAA,2BAAW,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,mCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,qCACI,EAAE,EAAE,EAAE,CAAC,EAAE,IACN,gBAAgB,KACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EACvC,QAAQ;YACR,OAAO,IACT;IACN,CAAC,CAAA,CAAC,CACL,CAAC;AACN,CAAC,CAAA,CAAC;AAEK,MAAM,wBAAwB,GAAG,CACpC,OAAmB,EACnB,OAA+B,EACgC,EAAE;IACjE,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,EAAgB;QACzB,SAAS,EAAE,EAAwB;KACtC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;QACxB,MAAM,WAAW,qBAAQ,IAAI,CAAE,CAAC;QAEhC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzB,WAAW,CAAC,QAAQ,GAAG,IAAA,+BAAe,EAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,WAAW,CAAC,aAAa,IAAI,iBAAiB,CAAC;SAClD;QAED,sCAAsC;QACtC,WAAW,CAAC,QAAQ,GAAG,IAAA,2BAAW,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEzD,qCAAqC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,WAAW,CAAC,OAAO,GAAG,MAAM,IAAA,mCAAmB,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACzE;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA,CAAC;AA/BW,QAAA,wBAAwB,4BA+BnC"}
@@ -3,3 +3,6 @@ export * from "./ParkingsWorker";
3
3
  export * from "./KoridParkingDataTransformation";
4
4
  export * from "./KoridParkingConfigTransformation";
5
5
  export * from "./queueDefinitions";
6
+ export * from "./ZtpParkingZones/ZtpParkingZonesDataSourceFactory";
7
+ export * from "./ZtpParkingZones/ZtpParkingZonesTransformation";
8
+ export * from "./ZtpParkingZones/ZtpParkingZonesWorker";
@@ -20,4 +20,7 @@ __exportStar(require("./ParkingsWorker"), exports);
20
20
  __exportStar(require("./KoridParkingDataTransformation"), exports);
21
21
  __exportStar(require("./KoridParkingConfigTransformation"), exports);
22
22
  __exportStar(require("./queueDefinitions"), exports);
23
+ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesDataSourceFactory"), exports);
24
+ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesTransformation"), exports);
25
+ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesWorker"), exports);
23
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,2DAAyC;AACzC,mDAAiC;AACjC,mEAAiD;AACjD,qEAAmD;AACnD,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,2DAAyC;AACzC,mDAAiC;AACjC,mEAAiD;AACjD,qEAAmD;AACnD,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD"}
@@ -0,0 +1,4 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ export declare class ParkingsModel extends PostgresModel implements IModel {
3
+ constructor();
4
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParkingsModel = void 0;
4
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
5
+ const _sch_1 = require("../../schema-definitions");
6
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
+ class ParkingsModel extends models_1.PostgresModel {
8
+ constructor() {
9
+ super(_sch_1.Parkings.name + "Model", {
10
+ outputSequelizeAttributes: _sch_1.Parkings.pg.outputSequelizeAttributes,
11
+ pgTableName: _sch_1.Parkings.pg.pgTableName,
12
+ savingType: "insertOrUpdate",
13
+ }, new golemio_validator_1.Validator(_sch_1.Parkings.name + "PgModelValidator", _sch_1.Parkings.pg.outputMongooseSchemaObject));
14
+ }
15
+ }
16
+ exports.ParkingsModel = ParkingsModel;
17
+ //# sourceMappingURL=ParkingsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/ParkingsModel.ts"],"names":[],"mappings":";;;AAAA,yEAAqF;AACrF,mDAAgC;AAChC,mFAAwE;AAExE,MAAa,aAAc,SAAQ,sBAAa;IAC5C;QACI,KAAK,CACD,eAAQ,CAAC,IAAI,GAAG,OAAO,EACvB;YACI,yBAAyB,EAAE,eAAQ,CAAC,EAAE,CAAC,yBAAyB;YAChE,WAAW,EAAE,eAAQ,CAAC,EAAE,CAAC,WAAW;YACpC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,6BAAS,CAAC,eAAQ,CAAC,IAAI,GAAG,kBAAkB,EAAE,eAAQ,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAC5F,CAAC;IACN,CAAC;CACJ;AAZD,sCAYC"}
@@ -4,6 +4,8 @@ exports.queueDefinitions = void 0;
4
4
  const config_1 = require("@golemio/core/dist/integration-engine/config");
5
5
  const index_1 = require("../schema-definitions/index");
6
6
  const ParkingsWorker_1 = require("./ParkingsWorker");
7
+ const ParkomatsWorker_1 = require("./ParkomatsWorker");
8
+ const ZtpParkingZonesWorker_1 = require("./ZtpParkingZones/ZtpParkingZonesWorker");
7
9
  const queueDefinitions = [
8
10
  {
9
11
  name: index_1.Parkings.name,
@@ -93,6 +95,31 @@ const queueDefinitions = [
93
95
  worker: ParkingsWorker_1.ParkingsWorker,
94
96
  workerMethod: "saveParkingLotsMeasurementsPrague",
95
97
  },
98
+ {
99
+ name: "updateZtpParkings",
100
+ options: {
101
+ deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
102
+ deadLetterRoutingKey: "dead",
103
+ },
104
+ worker: ZtpParkingZonesWorker_1.ZtpParkingZonesWorker,
105
+ workerMethod: "updateZtpParkings",
106
+ },
107
+ ],
108
+ },
109
+ {
110
+ name: index_1.Parkomats.name,
111
+ queuePrefix: config_1.config.RABBIT_EXCHANGE_NAME + "." + index_1.Parkomats.name.toLowerCase(),
112
+ queues: [
113
+ {
114
+ name: "refreshDataInDB",
115
+ options: {
116
+ deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
117
+ deadLetterRoutingKey: "dead",
118
+ messageTtl: 2 * 60 * 1000, // 2 minutes
119
+ },
120
+ worker: ParkomatsWorker_1.ParkomatsWorker,
121
+ workerMethod: "refreshDataInDB",
122
+ },
96
123
  ],
97
124
  },
98
125
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAEtE,uDAAsC;AACtC,qDAAoD;AAEpD,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,gBAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,gBAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;QAC5E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,0BAA0B;aAC3C;YACD;gBACI,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,wBAAwB;aACzC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,wBAAwB;aACzC;YACD;gBACI,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,uBAAuB;aACxC;YACD;gBACI,IAAI,EAAE,mCAAmC;gBACzC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;iBAC/B;gBACD,MAAM,EAAE,+BAAc;gBACtB,YAAY,EAAE,mCAAmC;aACpD;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
2
+ export declare class ParkomatsTransformation extends BaseTransformation implements ITransformation {
3
+ name: string;
4
+ constructor();
5
+ protected transformElement: (data: any) => Promise<any>;
6
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ParkomatsTransformation = void 0;
16
+ const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
17
+ const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
18
+ const _sch_1 = require("../../schema-definitions");
19
+ class ParkomatsTransformation extends transformations_1.BaseTransformation {
20
+ constructor() {
21
+ super();
22
+ this.transformElement = (data) => __awaiter(this, void 0, void 0, function* () {
23
+ const ticketBought = data.DateTime ? moment_timezone_1.default.tz(data.DateTime, "Europe/Prague") : null;
24
+ const validityFrom = data.DateFrom ? moment_timezone_1.default.tz(data.DateFrom, "Europe/Prague") : null;
25
+ const validityTo = data.DateTo ? moment_timezone_1.default.tz(data.DateTo, "Europe/Prague") : null;
26
+ const res = {
27
+ channel: data.Channel,
28
+ parking_zone: data.Section,
29
+ price: data.Price,
30
+ ticket_bought: ticketBought && ticketBought.isValid() ? ticketBought.toDate() : null,
31
+ transaction_id: data.Id,
32
+ validity_from: validityFrom && validityFrom.isValid() ? validityFrom.toDate() : null,
33
+ validity_to: validityTo && validityTo.isValid() ? validityTo.toDate() : null,
34
+ };
35
+ return res;
36
+ });
37
+ this.name = _sch_1.Parkomats.name;
38
+ }
39
+ }
40
+ exports.ParkomatsTransformation = ParkomatsTransformation;
41
+ //# sourceMappingURL=ParkomatsTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkomatsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/ParkomatsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gGAA+D;AAC/D,2FAA4G;AAC5G,mDAAiC;AAEjC,MAAa,uBAAwB,SAAQ,oCAAkB;IAG3D;QACI,KAAK,EAAE,CAAC;QAIF,qBAAgB,GAAG,CAAO,IAAS,EAAgB,EAAE;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhF,MAAM,GAAG,GAAG;gBACR,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,OAAO;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,aAAa,EAAE,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;gBACpF,cAAc,EAAE,IAAI,CAAC,EAAE;gBACvB,aAAa,EAAE,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;gBACpF,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;aAC/E,CAAC;YAEF,OAAO,GAAG,CAAC;QACf,CAAC,CAAA,CAAC;QAnBE,IAAI,CAAC,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC;IAC/B,CAAC;CAmBJ;AAzBD,0DAyBC"}
@@ -5,7 +5,6 @@ import { ParkingsMeasurementsModels } from "./models/ParkingsMeasurementsModels"
5
5
  import { ParkingsModel } from "./models/ParkingsModel";
6
6
  import { ParkingsTariffsModel } from "./models/ParkingsTariffsModel";
7
7
  import { ParkingsTransformationFabric } from "./transformations/ParkingsTransformationFabric";
8
- import { ParkingsLocationModel } from "./models/ParkingsLocationModel";
9
8
  export interface IGetLocationsQuery {
10
9
  latlng?: string;
11
10
  range?: string;
@@ -31,7 +30,6 @@ export interface IGetTariffsQuery {
31
30
  }
32
31
  export declare class ParkingsRouter extends BaseRouter {
33
32
  protected ParkingsModel: ParkingsModel;
34
- protected ParkingsLocationModel: ParkingsLocationModel;
35
33
  protected ParkingsMeasurementsModel: ParkingsMeasurementsModels;
36
34
  protected ParkingsMeasurementsActualModel: ParkingsMeasurementsModels;
37
35
  protected ParkingsTariffsModel: ParkingsTariffsModel;
@@ -70,8 +70,8 @@ class ParkingsRouter extends BaseRouter_1.BaseRouter {
70
70
  const options = Object.assign(Object.assign({}, coords), { source,
71
71
  sourceId,
72
72
  category, limit: limit ? Number(limit) : undefined, offset: offset ? Number(offset) : 0 });
73
- const data = yield this.ParkingsLocationModel.GetAll(options);
74
- const collection = yield this.ParkingsTransformationFabric.buildLocationFeatureCollection(data);
73
+ const data = yield this.ParkingsModel.GetAllDetail(options);
74
+ const collection = yield this.ParkingsTransformationFabric.buildFeatureCollection(data);
75
75
  res.status(200).send(collection);
76
76
  }
77
77
  catch (err) {
@@ -80,12 +80,12 @@ class ParkingsRouter extends BaseRouter_1.BaseRouter {
80
80
  });
81
81
  this.getDetailedLocationById = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
82
82
  try {
83
- const data = yield this.ParkingsLocationModel.GetOne(req.params.id);
83
+ const data = yield this.ParkingsModel.GetOneDetail(req.params.id);
84
84
  if (!data) {
85
85
  throw new golemio_errors_1.CustomError(`Id ${req.params.id} not found`, true, "ParkingsRouter", 404);
86
86
  }
87
- const { properties, measurements } = data, rest = __rest(data, ["properties", "measurements"]);
88
- const resultFeature = yield this.ParkingsTransformationFabric.buildFeatureItem(Object.assign(Object.assign(Object.assign({}, rest), properties), measurements));
87
+ const { measurements } = data, rest = __rest(data, ["measurements"]);
88
+ const resultFeature = yield this.ParkingsTransformationFabric.buildFeatureItem(Object.assign(Object.assign({}, rest), measurements));
89
89
  res.status(200).send(resultFeature);
90
90
  }
91
91
  catch (err) {
@@ -230,7 +230,7 @@ class ParkingsRouter extends BaseRouter_1.BaseRouter {
230
230
  .isInt({ min: 1, max: 10000 })
231
231
  .withMessage("pageSize should be a positive int and should not exceed 10,000"),
232
232
  ], output_gateway_1.pagination, output_gateway_1.checkErrors, (0, output_gateway_1.paginationLimitMiddleware)("ParkingsRouter"), (0, output_gateway_1.useCacheMiddleware)(), this.getMeasurements);
233
- this.router.get("/detail/:id", [(0, express_validator_1.param)("id").optional().isNumeric()], output_gateway_1.checkErrors, (0, output_gateway_1.useCacheMiddleware)("3 hours"), this.getDetailedLocationById);
233
+ this.router.get("/detail/:id", [(0, express_validator_1.param)("id").optional().isString()], output_gateway_1.checkErrors, (0, output_gateway_1.useCacheMiddleware)("3 hours"), this.getDetailedLocationById);
234
234
  this.router.get("/detail", [
235
235
  (0, express_validator_1.query)("latlng").optional().isLatLong(),
236
236
  (0, express_validator_1.query)("range").optional().isNumeric(),
@@ -258,7 +258,6 @@ class ParkingsRouter extends BaseRouter_1.BaseRouter {
258
258
  ], output_gateway_1.pagination, output_gateway_1.checkErrors, (0, output_gateway_1.paginationLimitMiddleware)("ParkingsRouter"), (0, output_gateway_1.useCacheMiddleware)("3 hours"), this.getLocations);
259
259
  };
260
260
  this.ParkingsModel = models_1.models.ParkingsModel;
261
- this.ParkingsLocationModel = models_1.models.ParkingsLocationModel;
262
261
  this.ParkingsMeasurementsModel = models_1.models.ParkingsMeasurementsModel;
263
262
  this.ParkingsMeasurementsActualModel = models_1.models.ParkingsMeasurementsActualModel;
264
263
  this.ParkingsTariffsModel = models_1.models.ParkingsTariffsModel;
@@ -1 +1 @@
1
- {"version":3,"file":"ParkingsRouter.js","sourceRoot":"","sources":["../../src/output-gateway/ParkingsRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParkingsRouter.js","sourceRoot":"","sources":["../../src/output-gateway/ParkingsRouter.ts"],"names":[],"mappings":"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"}