@golemio/parkings 1.7.11 → 1.7.12-dev.1195935142
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/20240223144949-iptoict-up.js +53 -0
- package/db/migrations/postgresql/sqls/20240223144949-iptoict-up-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20240223144949-iptoict-up-up.sql +8 -0
- package/dist/helpers/SourceEnum.d.ts +2 -1
- package/dist/helpers/SourceEnum.js +1 -0
- package/dist/helpers/SourceEnum.js.map +1 -1
- package/dist/input-gateway/controllers/IsphkParkingController.d.ts +9 -0
- package/dist/input-gateway/controllers/IsphkParkingController.js +41 -0
- package/dist/input-gateway/controllers/IsphkParkingController.js.map +1 -0
- package/dist/input-gateway/index.d.ts +1 -0
- package/dist/input-gateway/index.js +1 -0
- package/dist/input-gateway/index.js.map +1 -1
- package/dist/input-gateway/routers/IsphkParkingRouter.d.ts +12 -0
- package/dist/input-gateway/routers/IsphkParkingRouter.js +39 -0
- package/dist/input-gateway/routers/IsphkParkingRouter.js.map +1 -0
- package/dist/input-gateway/routers/ParkingSourcesRouter.d.ts +1 -1
- package/dist/input-gateway/routers/ParkingSourcesRouter.js +4 -4
- package/dist/input-gateway/routers/ParkingSourcesRouter.js.map +1 -1
- package/dist/integration-engine/constants/DataSources.d.ts +2 -1
- package/dist/integration-engine/constants/DataSources.js +1 -0
- package/dist/integration-engine/constants/DataSources.js.map +1 -1
- package/dist/integration-engine/datasources/interfaces/IGenericFeature.js.map +1 -0
- package/dist/integration-engine/datasources/manual/IptoictDataSource.d.ts +9 -0
- package/dist/integration-engine/datasources/manual/IptoictDataSource.js +53 -0
- package/dist/integration-engine/datasources/manual/IptoictDataSource.js.map +1 -0
- package/dist/integration-engine/datasources/osm/OsmDataSource.d.ts +1 -1
- package/dist/integration-engine/ioc/Di.js +11 -1
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +5 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +7 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingsMeasurementRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkingsMeasurementRepository.js +32 -0
- package/dist/integration-engine/repositories/ParkingsMeasurementRepository.js.map +1 -0
- package/dist/integration-engine/repositories/ParkingsMeasurementsActualRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkingsMeasurementsActualRepository.js +32 -0
- package/dist/integration-engine/repositories/ParkingsMeasurementsActualRepository.js.map +1 -0
- package/dist/integration-engine/transformations/IptoictParkingSpaceTransformation.d.ts +8 -0
- package/dist/integration-engine/transformations/IptoictParkingSpaceTransformation.js +26 -0
- package/dist/integration-engine/transformations/IptoictParkingSpaceTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/IptoictParkingTransformation.d.ts +10 -0
- package/dist/integration-engine/transformations/IptoictParkingTransformation.js +42 -0
- package/dist/integration-engine/transformations/IptoictParkingTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/isphk/IIsphkParkingSchema.d.ts +9 -0
- package/dist/integration-engine/transformations/isphk/IIsphkParkingSchema.js +3 -0
- package/dist/integration-engine/transformations/isphk/IIsphkParkingSchema.js.map +1 -0
- package/dist/integration-engine/transformations/isphk/IsphkMeasurementTransformation.d.ts +9 -0
- package/dist/integration-engine/transformations/isphk/IsphkMeasurementTransformation.js +25 -0
- package/dist/integration-engine/transformations/isphk/IsphkMeasurementTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/osm/OsmParkingSpaceTransformation.d.ts +1 -1
- package/dist/integration-engine/transformations/osm/OsmParkingTransformation.d.ts +1 -1
- package/dist/integration-engine/workers/NewParkingsWorker.js +2 -0
- package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.d.ts +15 -0
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.js +75 -0
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveIsphkMeasurementsTask.d.ts +13 -0
- package/dist/integration-engine/workers/tasks/SaveIsphkMeasurementsTask.js +64 -0
- package/dist/integration-engine/workers/tasks/SaveIsphkMeasurementsTask.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.d.ts +86 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js +44 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSchema.js +78 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSpacesSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSpacesSchema.js +39 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictParkingSpacesSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties.d.ts +28 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties.js +9 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingSpacesProperties.d.ts +7 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingSpacesProperties.js +3 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingSpacesProperties.js.map +1 -0
- package/dist/schema-definitions/datasources/isphk/IInputIsphkParkings.d.ts +10 -0
- package/dist/schema-definitions/datasources/isphk/IInputIsphkParkings.js +3 -0
- package/dist/schema-definitions/datasources/isphk/IInputIsphkParkings.js.map +1 -0
- package/dist/schema-definitions/datasources/isphk/InputParkingIsphkSchema.d.ts +4 -0
- package/dist/schema-definitions/datasources/isphk/InputParkingIsphkSchema.js +27 -0
- package/dist/schema-definitions/datasources/isphk/InputParkingIsphkSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js.map +1 -1
- package/docs/implementation-documentation.md +39 -1
- package/docs/openapi-input.yaml +50 -8
- package/package.json +1 -1
- package/dist/integration-engine/datasources/osm/interfaces/IGenericFeature.js.map +0 -1
- /package/dist/integration-engine/datasources/{osm/interfaces → interfaces}/IGenericFeature.d.ts +0 -0
- /package/dist/integration-engine/datasources/{osm/interfaces → interfaces}/IGenericFeature.js +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IParking } from "../ParkingInterface";
|
|
2
|
+
import { IGenericFeature } from "../datasources/interfaces/IGenericFeature";
|
|
3
|
+
import { IIptoictParkingProperties } from "../../schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
+
export declare class IptoictParkingTransformation extends AbstractTransformation<IGenericFeature<IIptoictParkingProperties>, IParking> {
|
|
6
|
+
private transformationDate;
|
|
7
|
+
name: string;
|
|
8
|
+
constructor(transformationDate: Date);
|
|
9
|
+
protected transformInternal: (element: IGenericFeature<IIptoictParkingProperties>) => IParking;
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IptoictParkingTransformation = void 0;
|
|
4
|
+
const GeodataHelper_1 = require("../helpers/GeodataHelper");
|
|
5
|
+
const IIptoictParkingProperties_1 = require("../../schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties");
|
|
6
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
7
|
+
class IptoictParkingTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
8
|
+
constructor(transformationDate) {
|
|
9
|
+
super();
|
|
10
|
+
this.transformationDate = transformationDate;
|
|
11
|
+
this.name = "IptoictParkingTransformation";
|
|
12
|
+
this.transformInternal = (element) => {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
const transformed = {
|
|
15
|
+
id: element.properties.source_id,
|
|
16
|
+
source: element.properties.source,
|
|
17
|
+
source_id: element.properties.source_id,
|
|
18
|
+
data_provider: "manual",
|
|
19
|
+
location: element.geometry,
|
|
20
|
+
name: element.properties.name,
|
|
21
|
+
parking_type: element.properties.parking_structure ? element.properties.parking_structure : "other",
|
|
22
|
+
centroid: (0, GeodataHelper_1.getPointOnFeature)(element.geometry),
|
|
23
|
+
covered: element.properties.covered,
|
|
24
|
+
security: element.properties.supervised ? element.properties.supervised === IIptoictParkingProperties_1.SupervisedEnum.Yes : null,
|
|
25
|
+
contact: element.properties.email || element.properties.phone || element.properties.website
|
|
26
|
+
? {
|
|
27
|
+
email: (_a = element.properties.email) !== null && _a !== void 0 ? _a : null,
|
|
28
|
+
phone: (_b = element.properties.phone) !== null && _b !== void 0 ? _b : null,
|
|
29
|
+
website: (_c = element.properties.website) !== null && _c !== void 0 ? _c : null,
|
|
30
|
+
}
|
|
31
|
+
: null,
|
|
32
|
+
date_modified: this.transformationDate.toISOString(),
|
|
33
|
+
total_spot_number: null,
|
|
34
|
+
max_vehicle_dimensions: null,
|
|
35
|
+
parking_policy: (_d = element.properties.parking_policy) !== null && _d !== void 0 ? _d : null,
|
|
36
|
+
};
|
|
37
|
+
return transformed;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.IptoictParkingTransformation = IptoictParkingTransformation;
|
|
42
|
+
//# sourceMappingURL=IptoictParkingTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IptoictParkingTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/IptoictParkingTransformation.ts"],"names":[],"mappings":";;;AAEA,4DAA8D;AAC9D,iIAA0H;AAC1H,6GAA0G;AAG1G,MAAa,4BAA6B,SAAQ,+CAA4E;IAG1H,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAW,8BAA8B,CAAC;QAM3C,sBAAiB,GAAG,CAAC,OAAmD,EAAE,EAAE;;YAClF,MAAM,WAAW,GAAa;gBAC1B,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBAChC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;gBACjC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;gBACvC,aAAa,EAAE,QAAQ;gBACvB,QAAQ,EAAE,OAAO,CAAC,QAA2B;gBAC7C,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;gBAC7B,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO;gBACnG,QAAQ,EAAE,IAAA,iCAAiB,EAAC,OAAO,CAAC,QAA2B,CAAC;gBAChE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,KAAK,0CAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBACrG,OAAO,EACH,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO;oBAC9E,CAAC,CAAC;wBACI,KAAK,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,KAAK,mCAAI,IAAI;wBACvC,KAAK,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,KAAK,mCAAI,IAAI;wBACvC,OAAO,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,OAAO,mCAAI,IAAI;qBAC9C;oBACH,CAAC,CAAC,IAAI;gBACd,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,iBAAiB,EAAE,IAAI;gBACvB,sBAAsB,EAAE,IAAI;gBAC5B,cAAc,EAAE,MAAA,OAAO,CAAC,UAAU,CAAC,cAAc,mCAAI,IAAI;aAC5D,CAAC;YAEF,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC;IA7BF,CAAC;CA8BJ;AAnCD,oEAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IIsphkParkingSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/isphk/IIsphkParkingSchema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IInputMeasurementItem } from "../../../schema-definitions/datasources/isphk/IInputIsphkParkings";
|
|
2
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
|
+
import { IIsphkParkingSchema } from "./IIsphkParkingSchema";
|
|
4
|
+
export declare class IsphkMeasurementTransformation extends AbstractTransformation<IInputMeasurementItem, IIsphkParkingSchema> {
|
|
5
|
+
private transformationDate;
|
|
6
|
+
name: string;
|
|
7
|
+
constructor(transformationDate: Date);
|
|
8
|
+
protected transformInternal: (data: IInputMeasurementItem) => IIsphkParkingSchema;
|
|
9
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsphkMeasurementTransformation = void 0;
|
|
4
|
+
const DataSources_1 = require("../../constants/DataSources");
|
|
5
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
6
|
+
class IsphkMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
|
+
constructor(transformationDate) {
|
|
8
|
+
super();
|
|
9
|
+
this.transformationDate = transformationDate;
|
|
10
|
+
this.name = "IsphkMeasurementTransformation";
|
|
11
|
+
this.transformInternal = (data) => {
|
|
12
|
+
return {
|
|
13
|
+
source: DataSources_1.DataSources.isphk,
|
|
14
|
+
source_id: data.id,
|
|
15
|
+
parking_id: data.id,
|
|
16
|
+
total_spot_number: data.capacity,
|
|
17
|
+
available_spot_number: data.free,
|
|
18
|
+
occupied_spot_number: data.capacity - data.free,
|
|
19
|
+
date_modified: this.transformationDate.toISOString(),
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.IsphkMeasurementTransformation = IsphkMeasurementTransformation;
|
|
25
|
+
//# sourceMappingURL=IsphkMeasurementTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsphkMeasurementTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/isphk/IsphkMeasurementTransformation.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AAExD,6GAA0G;AAE1G,MAAa,8BAA+B,SAAQ,+CAAkE;IAGlH,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAG,gCAAgC,CAAC;QAMrC,sBAAiB,GAAG,CAAC,IAA2B,EAAuB,EAAE;YAC/E,OAAO;gBACH,MAAM,EAAE,yBAAW,CAAC,KAAK;gBACzB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,qBAAqB,EAAE,IAAI,CAAC,IAAI;gBAChC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI;gBAC/C,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;aACvD,CAAC;QACN,CAAC,CAAC;IAZF,CAAC;CAaJ;AAlBD,wEAkBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IGenericFeature } from "../../datasources/
|
|
1
|
+
import { IGenericFeature } from "../../datasources/interfaces/IGenericFeature";
|
|
2
2
|
import { IOsmParkingSpacesProperties } from "../../../schema-definitions/datasources/osm/interfaces/IOsmParkingSpacesProperties";
|
|
3
3
|
import { IParkingLocation } from "../../../schema-definitions/models/interfaces/IParkingLocation";
|
|
4
4
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IParking } from "../../ParkingInterface";
|
|
2
|
-
import { IGenericFeature } from "../../datasources/
|
|
2
|
+
import { IGenericFeature } from "../../datasources/interfaces/IGenericFeature";
|
|
3
3
|
import { IOsmParkingProperties } from "../../../schema-definitions/datasources/osm/interfaces/IOsmParkingProperties";
|
|
4
4
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
5
|
export declare class OsmParkingTransformation extends AbstractTransformation<IGenericFeature<IOsmParkingProperties>, IParking> {
|
|
@@ -22,6 +22,8 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
|
|
|
22
22
|
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.CalculateAverageOccupancyTask));
|
|
23
23
|
this.registerTask(new SaveParkingZonesPrague_1.SaveParkingZonesPrague(this.getQueuePrefix()));
|
|
24
24
|
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveOsmDataTask));
|
|
25
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIsphkMeasurementsTask));
|
|
26
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIptoictParkingDataTask));
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
exports.NewParkingsWorker = NewParkingsWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAGjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,oCAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAGjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,oCAAwB,CAAC;QAiBzC,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAfE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzG,CAAC;CAMJ;AAtBD,8CAsBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IptoictDataSource } from "../../datasources/manual/IptoictDataSource";
|
|
2
|
+
import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
|
|
3
|
+
import { ParkingsRepository } from "../../repositories/ParkingsRepository";
|
|
4
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
5
|
+
export declare class SaveIptoictParkingDataTask extends AbstractEmptyTask {
|
|
6
|
+
private iptoictDataSource;
|
|
7
|
+
private parkingRepository;
|
|
8
|
+
private parkingLocationRepository;
|
|
9
|
+
readonly queueName = "saveIptoictParkingData";
|
|
10
|
+
readonly queueTtl: number;
|
|
11
|
+
constructor(iptoictDataSource: IptoictDataSource, parkingRepository: ParkingsRepository, parkingLocationRepository: ParkingsLocationRepository);
|
|
12
|
+
execute(): Promise<void>;
|
|
13
|
+
private updateParkingData;
|
|
14
|
+
private updateParkingLocations;
|
|
15
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.SaveIptoictParkingDataTask = void 0;
|
|
25
|
+
const IptoictDataSource_1 = require("../../datasources/manual/IptoictDataSource");
|
|
26
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
27
|
+
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
28
|
+
const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
|
|
29
|
+
const IptoictParkingSpaceTransformation_1 = require("../../transformations/IptoictParkingSpaceTransformation");
|
|
30
|
+
const IptoictParkingTransformation_1 = require("../../transformations/IptoictParkingTransformation");
|
|
31
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
32
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
33
|
+
const constants_1 = require("../constants");
|
|
34
|
+
let SaveIptoictParkingDataTask = exports.SaveIptoictParkingDataTask = class SaveIptoictParkingDataTask extends integration_engine_1.AbstractEmptyTask {
|
|
35
|
+
constructor(iptoictDataSource, parkingRepository, parkingLocationRepository) {
|
|
36
|
+
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
37
|
+
this.iptoictDataSource = iptoictDataSource;
|
|
38
|
+
this.parkingRepository = parkingRepository;
|
|
39
|
+
this.parkingLocationRepository = parkingLocationRepository;
|
|
40
|
+
this.queueName = "saveIptoictParkingData";
|
|
41
|
+
this.queueTtl = 1 * 60 * 60 * 1000; // 1 hour
|
|
42
|
+
}
|
|
43
|
+
execute() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
yield this.updateParkingData();
|
|
46
|
+
yield this.updateParkingLocations();
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
updateParkingData() {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const data = yield this.iptoictDataSource.getParkingsData();
|
|
52
|
+
const transformation = new IptoictParkingTransformation_1.IptoictParkingTransformation(new Date());
|
|
53
|
+
const transformedData = transformation.transformArray(data);
|
|
54
|
+
yield this.parkingRepository.bulkSave(transformedData);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
updateParkingLocations() {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const data = yield this.iptoictDataSource.getParkingsLocationData();
|
|
60
|
+
const transformation = new IptoictParkingSpaceTransformation_1.IptoictParkingSpaceTransformation();
|
|
61
|
+
const transformedData = transformation.transformArray(data);
|
|
62
|
+
yield this.parkingLocationRepository.bulkSave(transformedData);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.SaveIptoictParkingDataTask = SaveIptoictParkingDataTask = __decorate([
|
|
67
|
+
(0, tsyringe_1.injectable)(),
|
|
68
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.IptoictDataSource)),
|
|
69
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository)),
|
|
70
|
+
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
|
|
71
|
+
__metadata("design:paramtypes", [IptoictDataSource_1.IptoictDataSource,
|
|
72
|
+
ParkingsRepository_1.ParkingsRepository,
|
|
73
|
+
ParkingsLocationRepository_1.ParkingsLocationRepository])
|
|
74
|
+
], SaveIptoictParkingDataTask);
|
|
75
|
+
//# sourceMappingURL=SaveIptoictParkingDataTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveIptoictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptoictParkingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kFAA6E;AAC7E,yEAAoE;AACpE,8FAAyF;AACzF,8EAAyE;AACzE,+GAA0G;AAC1G,qGAAgG;AAChG,8EAA0E;AAC1E,iEAAwE;AACxE,4CAAwD;AAGjD,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sCAAiB;IAI7D,YACoD,iBAA4C,EAC3C,iBAA6C,EACrC,yBAA6D;QAEtH,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJwB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACnC,sBAAiB,GAAjB,iBAAiB,CAAoB;QAC7B,8BAAyB,GAAzB,yBAAyB,CAA4B;QAN1G,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;IAQxD,CAAC;IAEY,OAAO;;YAChB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxC,CAAC;KAAA;IAEa,iBAAiB;;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,2DAA4B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEa,sBAAsB;;YAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,qEAAiC,EAAE,CAAC;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;KAAA;CACJ,CAAA;qCA9BY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC/C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;qCAFmB,qCAAiB;QAChB,uCAAkB;QACF,uDAA0B;GAPjH,0BAA0B,CA8BtC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PostgresModel } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { AbstractTaskJsonSchema } from "@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema";
|
|
3
|
+
import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
4
|
+
export declare class SaveIsphkMeasurementsTask extends AbstractTaskJsonSchema<any> {
|
|
5
|
+
private readonly parkingsMeasurementsRepository;
|
|
6
|
+
private readonly parkingsMeasurementsActualRepository;
|
|
7
|
+
readonly queueName = "saveIsphkMeasurements";
|
|
8
|
+
readonly queueTtl: number;
|
|
9
|
+
readonly schema: JSONSchemaValidator;
|
|
10
|
+
private isphkMeasurementTransformation;
|
|
11
|
+
constructor(parkingsMeasurementsRepository: PostgresModel, parkingsMeasurementsActualRepository: PostgresModel);
|
|
12
|
+
execute(inputData: any): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.SaveIsphkMeasurementsTask = void 0;
|
|
25
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
26
|
+
const IsphkMeasurementTransformation_1 = require("../../transformations/isphk/IsphkMeasurementTransformation");
|
|
27
|
+
const constants_1 = require("../constants");
|
|
28
|
+
const InputParkingIsphkSchema_1 = require("../../../schema-definitions/datasources/isphk/InputParkingIsphkSchema");
|
|
29
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
30
|
+
const AbstractTaskJsonSchema_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema");
|
|
31
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
32
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
33
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
34
|
+
let SaveIsphkMeasurementsTask = exports.SaveIsphkMeasurementsTask = class SaveIsphkMeasurementsTask extends AbstractTaskJsonSchema_1.AbstractTaskJsonSchema {
|
|
35
|
+
constructor(parkingsMeasurementsRepository, parkingsMeasurementsActualRepository) {
|
|
36
|
+
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
37
|
+
this.parkingsMeasurementsRepository = parkingsMeasurementsRepository;
|
|
38
|
+
this.parkingsMeasurementsActualRepository = parkingsMeasurementsActualRepository;
|
|
39
|
+
this.queueName = "saveIsphkMeasurements";
|
|
40
|
+
this.queueTtl = 15 * 60 * 1000;
|
|
41
|
+
this.schema = new golemio_validator_1.JSONSchemaValidator("SaveIsphkMeasurementsTaskValidation", InputParkingIsphkSchema_1.InputParkingIsphkSchema);
|
|
42
|
+
this.isphkMeasurementTransformation = new IsphkMeasurementTransformation_1.IsphkMeasurementTransformation(new Date());
|
|
43
|
+
}
|
|
44
|
+
execute(inputData) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
try {
|
|
47
|
+
const transformedData = yield this.isphkMeasurementTransformation.transformArray(inputData.data);
|
|
48
|
+
yield this.parkingsMeasurementsRepository.bulkSave(transformedData);
|
|
49
|
+
yield this.parkingsMeasurementsActualRepository.bulkSave(transformedData);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
throw new golemio_errors_1.GeneralError("Error while saving ISPHK measurements data", this.constructor.name, err);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.SaveIsphkMeasurementsTask = SaveIsphkMeasurementsTask = __decorate([
|
|
58
|
+
(0, tsyringe_1.injectable)(),
|
|
59
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementRepository)),
|
|
60
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementsActualRepository)),
|
|
61
|
+
__metadata("design:paramtypes", [integration_engine_1.PostgresModel,
|
|
62
|
+
integration_engine_1.PostgresModel])
|
|
63
|
+
], SaveIsphkMeasurementsTask);
|
|
64
|
+
//# sourceMappingURL=SaveIsphkMeasurementsTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveIsphkMeasurementsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIsphkMeasurementsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,+GAA0G;AAC1G,4CAAiE;AACjE,mHAAyF;AACzF,8EAAsE;AACtE,iHAA8G;AAC9G,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AAGjE,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,+CAA2B;IAMtE,YAEI,8BAA8D,EAE9D,oCAAoE;QAEpE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAJf,mCAA8B,GAA9B,8BAA8B,CAAe;QAE7C,yCAAoC,GAApC,oCAAoC,CAAe;QATxD,cAAS,GAAG,uBAAuB,CAAC;QACpC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,WAAM,GAAG,IAAI,uCAAmB,CAAC,qCAAqC,EAAE,iDAAuB,CAAC,CAAC;QAU7G,IAAI,CAAC,8BAA8B,GAAG,IAAI,+DAA8B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAEY,OAAO,CAAC,SAAc;;YAC/B,IAAI;gBACA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjG,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;aAC7E;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpG;QACL,CAAC;KAAA;CACJ,CAAA;oCAzBY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,oCAAoC,CAAC,CAAA;qCADjB,kCAAa;QAEP,kCAAa;GAV/D,yBAAyB,CAyBrC"}
|
package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.d.ts
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { IIptoictParkingProperties } from "./interfaces/IIptoictParkingProperties";
|
|
2
|
+
import { IIptoictParkingSpacesProperties } from "./interfaces/IIptoictParkingSpacesProperties";
|
|
3
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
4
|
+
export declare class IptoictFeatureCollectionSchemaGenerator {
|
|
5
|
+
static getParkingSchema(): {
|
|
6
|
+
type: string;
|
|
7
|
+
properties: {
|
|
8
|
+
type: {
|
|
9
|
+
type: string;
|
|
10
|
+
enum: string[];
|
|
11
|
+
};
|
|
12
|
+
features: {
|
|
13
|
+
type: string;
|
|
14
|
+
items: {
|
|
15
|
+
type: string;
|
|
16
|
+
properties: {
|
|
17
|
+
type: {
|
|
18
|
+
type: string;
|
|
19
|
+
enum: string[];
|
|
20
|
+
};
|
|
21
|
+
geometry: {
|
|
22
|
+
type: string;
|
|
23
|
+
};
|
|
24
|
+
properties: JSONSchemaType<IIptoictParkingProperties>;
|
|
25
|
+
};
|
|
26
|
+
required: string[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
required: string[];
|
|
31
|
+
};
|
|
32
|
+
static getParkingSpacesSchema(): {
|
|
33
|
+
type: string;
|
|
34
|
+
properties: {
|
|
35
|
+
type: {
|
|
36
|
+
type: string;
|
|
37
|
+
enum: string[];
|
|
38
|
+
};
|
|
39
|
+
features: {
|
|
40
|
+
type: string;
|
|
41
|
+
items: {
|
|
42
|
+
type: string;
|
|
43
|
+
properties: {
|
|
44
|
+
type: {
|
|
45
|
+
type: string;
|
|
46
|
+
enum: string[];
|
|
47
|
+
};
|
|
48
|
+
geometry: {
|
|
49
|
+
type: string;
|
|
50
|
+
};
|
|
51
|
+
properties: JSONSchemaType<IIptoictParkingSpacesProperties>;
|
|
52
|
+
};
|
|
53
|
+
required: string[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
required: string[];
|
|
58
|
+
};
|
|
59
|
+
protected static getSchema<T>(propertiesSchema: JSONSchemaType<T>): {
|
|
60
|
+
type: string;
|
|
61
|
+
properties: {
|
|
62
|
+
type: {
|
|
63
|
+
type: string;
|
|
64
|
+
enum: string[];
|
|
65
|
+
};
|
|
66
|
+
features: {
|
|
67
|
+
type: string;
|
|
68
|
+
items: {
|
|
69
|
+
type: string;
|
|
70
|
+
properties: {
|
|
71
|
+
type: {
|
|
72
|
+
type: string;
|
|
73
|
+
enum: string[];
|
|
74
|
+
};
|
|
75
|
+
geometry: {
|
|
76
|
+
type: string;
|
|
77
|
+
};
|
|
78
|
+
properties: JSONSchemaType<T>;
|
|
79
|
+
};
|
|
80
|
+
required: string[];
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
required: string[];
|
|
85
|
+
};
|
|
86
|
+
}
|
package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IptoictFeatureCollectionSchemaGenerator = void 0;
|
|
4
|
+
const IptoictParkingSchema_1 = require("./IptoictParkingSchema");
|
|
5
|
+
const IptoictParkingSpacesSchema_1 = require("./IptoictParkingSpacesSchema");
|
|
6
|
+
class IptoictFeatureCollectionSchemaGenerator {
|
|
7
|
+
static getParkingSchema() {
|
|
8
|
+
return this.getSchema(IptoictParkingSchema_1.iptoictParkingSchema);
|
|
9
|
+
}
|
|
10
|
+
static getParkingSpacesSchema() {
|
|
11
|
+
return this.getSchema(IptoictParkingSpacesSchema_1.iptoictParkingSpacesSchema);
|
|
12
|
+
}
|
|
13
|
+
static getSchema(propertiesSchema) {
|
|
14
|
+
return {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
type: {
|
|
18
|
+
type: "string",
|
|
19
|
+
enum: ["FeatureCollection"],
|
|
20
|
+
},
|
|
21
|
+
features: {
|
|
22
|
+
type: "array",
|
|
23
|
+
items: {
|
|
24
|
+
type: "object",
|
|
25
|
+
properties: {
|
|
26
|
+
type: {
|
|
27
|
+
type: "string",
|
|
28
|
+
enum: ["Feature"],
|
|
29
|
+
},
|
|
30
|
+
geometry: {
|
|
31
|
+
type: "object",
|
|
32
|
+
},
|
|
33
|
+
properties: propertiesSchema,
|
|
34
|
+
},
|
|
35
|
+
required: ["type", "geometry", "properties"],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
required: ["type", "features"],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.IptoictFeatureCollectionSchemaGenerator = IptoictFeatureCollectionSchemaGenerator;
|
|
44
|
+
//# sourceMappingURL=IptoictFeatureCollectionSchemaGenerator.js.map
|
package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IptoictFeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAC9D,6EAA0E;AAK1E,MAAa,uCAAuC;IACzC,MAAM,CAAC,gBAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAA4B,2CAAoB,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAAkC,uDAA0B,CAAC,CAAC;IACvF,CAAC;IAES,MAAM,CAAC,SAAS,CAAI,gBAAmC;QAC7D,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;iBAC9B;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,SAAS,CAAC;6BACpB;4BACD,QAAQ,EAAE;gCACN,IAAI,EAAE,QAAQ;6BACjB;4BACD,UAAU,EAAE,gBAAgB;yBAC/B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;qBAC/C;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;SACjC,CAAC;IACN,CAAC;CACJ;AAtCD,0FAsCC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iptoictParkingSchema = void 0;
|
|
4
|
+
exports.iptoictParkingSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
source: { type: "string" },
|
|
8
|
+
source_id: { type: "string" },
|
|
9
|
+
name: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
10
|
+
covered: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
11
|
+
supervised: {
|
|
12
|
+
oneOf: [
|
|
13
|
+
{ type: "string", enum: ["yes", "no"] },
|
|
14
|
+
{ type: "null", nullable: true },
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
start_date: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
18
|
+
end_date: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
19
|
+
charge: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
20
|
+
opening_hours: {
|
|
21
|
+
oneOf: [
|
|
22
|
+
{
|
|
23
|
+
type: "array",
|
|
24
|
+
items: {
|
|
25
|
+
type: "object",
|
|
26
|
+
properties: {
|
|
27
|
+
valid_from: {
|
|
28
|
+
oneOf: [
|
|
29
|
+
{ type: "string", format: "date-time" },
|
|
30
|
+
{ type: "null", nullable: true },
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
valid_to: {
|
|
34
|
+
oneOf: [
|
|
35
|
+
{ type: "string", format: "date-time" },
|
|
36
|
+
{ type: "null", nullable: true },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
periods_of_time: {
|
|
40
|
+
type: "array",
|
|
41
|
+
items: {
|
|
42
|
+
type: "object",
|
|
43
|
+
properties: {
|
|
44
|
+
day_in_week: { type: "string" },
|
|
45
|
+
start: { type: "string" },
|
|
46
|
+
end: { type: "string" },
|
|
47
|
+
ph: { type: "string" },
|
|
48
|
+
},
|
|
49
|
+
required: ["day_in_week", "start", "end", "ph"],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
required: ["periods_of_time"],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{ type: "null", nullable: true },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
maxstay: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
60
|
+
email: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
61
|
+
phone: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
62
|
+
website: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
63
|
+
parking_policy: {
|
|
64
|
+
oneOf: [
|
|
65
|
+
{ type: "string", enum: ["park_and_ride", "kiss_and_ride", "commercial", "customer_only"] },
|
|
66
|
+
{ type: "null", nullable: true },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
parking_structure: {
|
|
70
|
+
oneOf: [
|
|
71
|
+
{ type: "string", enum: ["on_street", "underground", "multi_storey", "surface", "rooftop"] },
|
|
72
|
+
{ type: "null", nullable: true },
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
required: ["source_id", "opening_hours", "source"],
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=IptoictParkingSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IptoictParkingSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/Iptoict/IptoictParkingSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iptoictParkingSpacesSchema = void 0;
|
|
4
|
+
exports.iptoictParkingSpacesSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
parking_id: { type: "string" },
|
|
8
|
+
id: { type: "string" },
|
|
9
|
+
name: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
10
|
+
capacity: { type: "integer" },
|
|
11
|
+
access: {
|
|
12
|
+
oneOf: [
|
|
13
|
+
{
|
|
14
|
+
type: "array",
|
|
15
|
+
items: {
|
|
16
|
+
type: "string",
|
|
17
|
+
enum: [
|
|
18
|
+
"disabled",
|
|
19
|
+
"designated",
|
|
20
|
+
"delivery",
|
|
21
|
+
"RV",
|
|
22
|
+
"charging",
|
|
23
|
+
"resident",
|
|
24
|
+
"customer",
|
|
25
|
+
"bus",
|
|
26
|
+
"motorcycle",
|
|
27
|
+
"parent",
|
|
28
|
+
"truck",
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{ type: "null", nullable: true },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
required: ["id", "capacity", "parking_id"],
|
|
37
|
+
additionalProperties: false,
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=IptoictParkingSpacesSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IptoictParkingSpacesSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/Iptoict/IptoictParkingSpacesSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAAoD;IACvF,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,MAAM,EAAE;YACJ,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACF,UAAU;4BACV,YAAY;4BACZ,UAAU;4BACV,IAAI;4BACJ,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,KAAK;4BACL,YAAY;4BACZ,QAAQ;4BACR,OAAO;yBACV;qBACJ;iBACJ;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnC;SACJ;KACJ;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC;IAC1C,oBAAoB,EAAE,KAAK;CAC9B,CAAC"}
|