@golemio/parkings 1.8.2-dev.1212947894 → 1.8.2-dev.1214722021
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/example/00_clear_test_data.sql +4 -0
- package/db/example/04_tsk_parking_v2.sql +2 -2
- package/db/example/06_entrances.sql +8 -0
- package/db/migrations/postgresql/20240229115233-parking-entrances.js +53 -0
- package/db/migrations/postgresql/sqls/20240229115233-parking-entrances-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20240229115233-parking-entrances-up.sql +17 -0
- package/dist/integration-engine/datasources/manual/ManualEntrancesDatasource.d.ts +9 -0
- package/dist/integration-engine/datasources/manual/ManualEntrancesDatasource.js +52 -0
- package/dist/integration-engine/datasources/manual/ManualEntrancesDatasource.js.map +1 -0
- package/dist/integration-engine/datasources/osm/OsmEntrancesDataSource.d.ts +9 -0
- package/dist/integration-engine/datasources/osm/OsmEntrancesDataSource.js +52 -0
- package/dist/integration-engine/datasources/osm/OsmEntrancesDataSource.js.map +1 -0
- package/dist/integration-engine/ioc/Di.js +10 -0
- 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/OpenHoursRepository.js +1 -1
- package/dist/integration-engine/repositories/OpenHoursRepository.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingEntrancesRepository.d.ts +6 -0
- package/dist/integration-engine/repositories/ParkingEntrancesRepository.js +50 -0
- package/dist/integration-engine/repositories/ParkingEntrancesRepository.js.map +1 -0
- package/dist/integration-engine/transformations/EntrancesManualTransformation.d.ts +8 -0
- package/dist/integration-engine/transformations/EntrancesManualTransformation.js +31 -0
- package/dist/integration-engine/transformations/EntrancesManualTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/osm/OsmEntrancesTransformation.d.ts +8 -0
- package/dist/integration-engine/transformations/osm/OsmEntrancesTransformation.js +31 -0
- package/dist/integration-engine/transformations/osm/OsmEntrancesTransformation.js.map +1 -0
- 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/SaveManualEntrancesDataTask.d.ts +11 -0
- package/dist/integration-engine/workers/tasks/SaveManualEntrancesDataTask.js +57 -0
- package/dist/integration-engine/workers/tasks/SaveManualEntrancesDataTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.d.ts +11 -0
- package/dist/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.js +57 -0
- package/dist/integration-engine/workers/tasks/SaveOsmEntrancesDataTask.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingEntrancesRepository.d.ts +6 -0
- package/dist/output-gateway/data-access/ParkingEntrancesRepository.js +34 -0
- package/dist/output-gateway/data-access/ParkingEntrancesRepository.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingRepository.d.ts +3 -1
- package/dist/output-gateway/data-access/ParkingRepository.js +35 -4
- package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +2 -0
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +1 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +25 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -1
- package/dist/schema-definitions/datasources/Iptoict/IptoictEntrancesSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictEntrancesSchema.js +42 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictEntrancesSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.d.ts +27 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js +4 -0
- package/dist/schema-definitions/datasources/Iptoict/IptoictFeatureCollectionSchemaGenerator.js.map +1 -1
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IptoictEntrancesProperties.d.ts +16 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IptoictEntrancesProperties.js +3 -0
- package/dist/schema-definitions/datasources/Iptoict/interfaces/IptoictEntrancesProperties.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IManualEntrancesProperties.d.ts +18 -0
- package/dist/schema-definitions/datasources/interfaces/IManualEntrancesProperties.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IManualEntrancesProperties.js.map +1 -0
- package/dist/schema-definitions/datasources/manual/ManualEntrancesParkingSchema.d.ts +0 -0
- package/dist/schema-definitions/datasources/manual/ManualEntrancesParkingSchema.js +2 -0
- package/dist/schema-definitions/datasources/manual/ManualEntrancesParkingSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.d.ts +28 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js +4 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js.map +1 -1
- package/dist/schema-definitions/datasources/osm/OsmEntrancesParkingSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/osm/OsmEntrancesParkingSchema.js +30 -0
- package/dist/schema-definitions/datasources/osm/OsmEntrancesParkingSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmEntranceProperties.d.ts +14 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmEntranceProperties.js +3 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmEntranceProperties.js.map +1 -0
- package/dist/schema-definitions/models/EntranceModel.d.ts +21 -0
- package/dist/schema-definitions/models/EntranceModel.js +68 -0
- package/dist/schema-definitions/models/EntranceModel.js.map +1 -0
- package/dist/schema-definitions/models/OpeningHoursModel.d.ts +66 -0
- package/dist/schema-definitions/models/OpeningHoursModel.js +28 -0
- package/dist/schema-definitions/models/OpeningHoursModel.js.map +1 -1
- package/dist/schema-definitions/models/interfaces/IEntrance.d.ts +15 -0
- package/dist/schema-definitions/models/interfaces/IEntrance.js +3 -0
- package/dist/schema-definitions/models/interfaces/IEntrance.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParking.d.ts +14 -0
- package/docs/implementation-documentation.md +30 -0
- package/docs/openapi-output.yaml +108 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IManualEntrancesProperties.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IManualEntrancesProperties.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManualEntrancesParkingSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/manual/ManualEntrancesParkingSchema.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
2
|
import { IOsmParkingProperties } from "./interfaces/IOsmParkingProperties";
|
|
3
3
|
import { IOsmParkingSpacesProperties } from "./interfaces/IOsmParkingSpacesProperties";
|
|
4
|
+
import { IOsmEntranceProperties } from "./interfaces/IOsmEntranceProperties";
|
|
4
5
|
export declare class OsmSchemaGenerator {
|
|
5
6
|
static getParkingSchema(): {
|
|
6
7
|
type: string;
|
|
@@ -56,5 +57,32 @@ export declare class OsmSchemaGenerator {
|
|
|
56
57
|
};
|
|
57
58
|
required: string[];
|
|
58
59
|
};
|
|
60
|
+
static getEntranceSchema(): {
|
|
61
|
+
type: string;
|
|
62
|
+
properties: {
|
|
63
|
+
type: {
|
|
64
|
+
type: string;
|
|
65
|
+
enum: string[];
|
|
66
|
+
};
|
|
67
|
+
features: {
|
|
68
|
+
type: string;
|
|
69
|
+
items: {
|
|
70
|
+
type: string;
|
|
71
|
+
properties: {
|
|
72
|
+
type: {
|
|
73
|
+
type: string;
|
|
74
|
+
enum: string[];
|
|
75
|
+
};
|
|
76
|
+
geometry: {
|
|
77
|
+
type: string;
|
|
78
|
+
};
|
|
79
|
+
properties: JSONSchemaType<IOsmEntranceProperties>;
|
|
80
|
+
};
|
|
81
|
+
required: string[];
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
required: string[];
|
|
86
|
+
};
|
|
59
87
|
private static getSchema;
|
|
60
88
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OsmSchemaGenerator = void 0;
|
|
4
|
+
const OsmEntrancesParkingSchema_1 = require("./OsmEntrancesParkingSchema");
|
|
4
5
|
const OsmParkingSchema_1 = require("./OsmParkingSchema");
|
|
5
6
|
const OsmParkingSpacesSchema_1 = require("./OsmParkingSpacesSchema");
|
|
6
7
|
class OsmSchemaGenerator {
|
|
@@ -10,6 +11,9 @@ class OsmSchemaGenerator {
|
|
|
10
11
|
static getParkingSpacesSchema() {
|
|
11
12
|
return this.getSchema(OsmParkingSpacesSchema_1.osmParkingSpacesSchema);
|
|
12
13
|
}
|
|
14
|
+
static getEntranceSchema() {
|
|
15
|
+
return this.getSchema(OsmEntrancesParkingSchema_1.osmEntrancesParkingSchema);
|
|
16
|
+
}
|
|
13
17
|
static getSchema(propertiesSchema) {
|
|
14
18
|
return {
|
|
15
19
|
type: "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;AAIA,2EAAwE;AACxE,yDAAsD;AACtD,qEAAkE;AAElE,MAAa,kBAAkB;IACpB,MAAM,CAAC,gBAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAwB,mCAAgB,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAA8B,+CAAsB,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAyB,qDAAyB,CAAC,CAAC;IAC7E,CAAC;IAEO,MAAM,CAAC,SAAS,CAAI,gBAAmC;QAC3D,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;AA1CD,gDA0CC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.osmEntrancesParkingSchema = void 0;
|
|
4
|
+
exports.osmEntrancesParkingSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
osm_id: { type: "string" },
|
|
8
|
+
parking_id: { type: "string" },
|
|
9
|
+
source_id: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
10
|
+
name: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
11
|
+
entry: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
12
|
+
exit: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
13
|
+
maxheight: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
14
|
+
level: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
15
|
+
maxwidth: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
16
|
+
maxlength: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
17
|
+
maxweight: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
18
|
+
entrance_type: {
|
|
19
|
+
oneOf: [
|
|
20
|
+
{
|
|
21
|
+
type: "string",
|
|
22
|
+
},
|
|
23
|
+
{ type: "null", nullable: true },
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
required: ["osm_id", "parking_id"],
|
|
28
|
+
additionalProperties: false,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=OsmEntrancesParkingSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OsmEntrancesParkingSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/OsmEntrancesParkingSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,yBAAyB,GAA2C;IAC7E,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5E,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACvE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACzE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACxE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5E,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QACxE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC3E,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5E,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5E,aAAa,EAAE;YACX,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,QAAQ;iBACjB;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnC;SACJ;KACJ;IACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;IAClC,oBAAoB,EAAE,KAAK;CAC9B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface IOsmEntranceProperties {
|
|
2
|
+
osm_id: string;
|
|
3
|
+
parking_id: string;
|
|
4
|
+
source_id: string | null;
|
|
5
|
+
name: string | null;
|
|
6
|
+
entry: boolean | null;
|
|
7
|
+
exit: boolean | null;
|
|
8
|
+
entrance_type: string | null;
|
|
9
|
+
level: number | null;
|
|
10
|
+
maxheight: number | null;
|
|
11
|
+
maxwidth: number | null;
|
|
12
|
+
maxlength: number | null;
|
|
13
|
+
maxweight: number | null;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOsmEntranceProperties.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/osm/interfaces/IOsmEntranceProperties.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
|
|
2
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
3
|
+
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
4
|
+
import { IEntrance } from "./interfaces/IEntrance";
|
|
5
|
+
export declare class EntrancesModel extends Model<IEntrance> implements IEntrance {
|
|
6
|
+
static tableName: string;
|
|
7
|
+
entrance_id: string;
|
|
8
|
+
source: string;
|
|
9
|
+
parking_id: string;
|
|
10
|
+
location: TGeoCoordinates;
|
|
11
|
+
entry: boolean | null;
|
|
12
|
+
exit: boolean | null;
|
|
13
|
+
entrance_type: string[] | null;
|
|
14
|
+
level: number | null;
|
|
15
|
+
max_height: number | null;
|
|
16
|
+
max_width: number | null;
|
|
17
|
+
max_length: number | null;
|
|
18
|
+
max_weight: number | null;
|
|
19
|
+
static attributeModel: ModelAttributes<EntrancesModel>;
|
|
20
|
+
static jsonSchema: JSONSchemaType<IEntrance[]>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntrancesModel = void 0;
|
|
4
|
+
const SharedSchemaProvider_1 = require("@golemio/core/dist/schema-definitions/SharedSchemaProvider");
|
|
5
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
6
|
+
class EntrancesModel extends sequelize_1.Model {
|
|
7
|
+
}
|
|
8
|
+
exports.EntrancesModel = EntrancesModel;
|
|
9
|
+
EntrancesModel.tableName = "parking_entrances";
|
|
10
|
+
EntrancesModel.attributeModel = {
|
|
11
|
+
entrance_id: {
|
|
12
|
+
primaryKey: true,
|
|
13
|
+
type: sequelize_1.DataTypes.STRING,
|
|
14
|
+
},
|
|
15
|
+
parking_id: {
|
|
16
|
+
primaryKey: true,
|
|
17
|
+
type: sequelize_1.DataTypes.STRING,
|
|
18
|
+
},
|
|
19
|
+
source: {
|
|
20
|
+
type: sequelize_1.DataTypes.STRING,
|
|
21
|
+
},
|
|
22
|
+
location: sequelize_1.DataTypes.GEOMETRY,
|
|
23
|
+
entry: sequelize_1.DataTypes.BOOLEAN,
|
|
24
|
+
exit: sequelize_1.DataTypes.BOOLEAN,
|
|
25
|
+
entrance_type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.STRING),
|
|
26
|
+
level: sequelize_1.DataTypes.FLOAT,
|
|
27
|
+
max_height: sequelize_1.DataTypes.FLOAT,
|
|
28
|
+
max_width: sequelize_1.DataTypes.FLOAT,
|
|
29
|
+
max_length: sequelize_1.DataTypes.FLOAT,
|
|
30
|
+
max_weight: sequelize_1.DataTypes.FLOAT,
|
|
31
|
+
};
|
|
32
|
+
EntrancesModel.jsonSchema = {
|
|
33
|
+
type: "array",
|
|
34
|
+
items: {
|
|
35
|
+
type: "object",
|
|
36
|
+
properties: {
|
|
37
|
+
entrance_id: { type: "string" },
|
|
38
|
+
parking_id: { type: "string" },
|
|
39
|
+
source: { type: "string" },
|
|
40
|
+
entry: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
41
|
+
exit: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
42
|
+
level: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
43
|
+
max_height: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
44
|
+
max_width: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
45
|
+
max_length: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
46
|
+
max_weight: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
47
|
+
location: { $ref: "#/definitions/geometry" },
|
|
48
|
+
entrance_type: {
|
|
49
|
+
oneOf: [
|
|
50
|
+
{
|
|
51
|
+
type: "array",
|
|
52
|
+
items: {
|
|
53
|
+
type: "string",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{ type: "null", nullable: true },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
required: ["entrance_id", "source", "parking_id"],
|
|
61
|
+
additionalProperties: false,
|
|
62
|
+
},
|
|
63
|
+
definitions: {
|
|
64
|
+
// @ts-expect-error
|
|
65
|
+
geometry: SharedSchemaProvider_1.SharedSchemaProvider.Geometry,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=EntranceModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntranceModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/EntranceModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,70 @@ export declare class OpeningHoursModel extends Model<IOpeningHours> implements I
|
|
|
9
9
|
valid_to: string | null;
|
|
10
10
|
periods_of_time: IOpeningHoursPeriod[];
|
|
11
11
|
static attributeModel: ModelAttributes<OpeningHoursModel>;
|
|
12
|
+
static jsonSchema: {
|
|
13
|
+
type: string;
|
|
14
|
+
items: {
|
|
15
|
+
type: string;
|
|
16
|
+
properties: {
|
|
17
|
+
parking_id: {
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
source: {
|
|
21
|
+
type: string;
|
|
22
|
+
};
|
|
23
|
+
valid_from: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
valid_to: {
|
|
27
|
+
oneOf: ({
|
|
28
|
+
type: string;
|
|
29
|
+
nullable?: undefined;
|
|
30
|
+
} | {
|
|
31
|
+
type: string;
|
|
32
|
+
nullable: boolean;
|
|
33
|
+
})[];
|
|
34
|
+
};
|
|
35
|
+
periods_of_time: {
|
|
36
|
+
type: string;
|
|
37
|
+
items: {
|
|
38
|
+
type: string;
|
|
39
|
+
properties: {
|
|
40
|
+
day_in_week: {
|
|
41
|
+
type: string;
|
|
42
|
+
};
|
|
43
|
+
start: {
|
|
44
|
+
type: string;
|
|
45
|
+
};
|
|
46
|
+
end: {
|
|
47
|
+
type: string;
|
|
48
|
+
};
|
|
49
|
+
ph: {
|
|
50
|
+
type: string;
|
|
51
|
+
};
|
|
52
|
+
maximum_duration: {
|
|
53
|
+
oneOf: ({
|
|
54
|
+
type: string;
|
|
55
|
+
nullable?: undefined;
|
|
56
|
+
} | {
|
|
57
|
+
type: string;
|
|
58
|
+
nullable: boolean;
|
|
59
|
+
})[];
|
|
60
|
+
};
|
|
61
|
+
disc_parking: {
|
|
62
|
+
oneOf: ({
|
|
63
|
+
type: string;
|
|
64
|
+
nullable?: undefined;
|
|
65
|
+
} | {
|
|
66
|
+
type: string;
|
|
67
|
+
nullable: boolean;
|
|
68
|
+
})[];
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
required: string[];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
required: string[];
|
|
76
|
+
};
|
|
77
|
+
};
|
|
12
78
|
}
|
|
@@ -23,4 +23,32 @@ OpeningHoursModel.attributeModel = {
|
|
|
23
23
|
},
|
|
24
24
|
periods_of_time: sequelize_1.DataTypes.JSON,
|
|
25
25
|
};
|
|
26
|
+
OpeningHoursModel.jsonSchema = {
|
|
27
|
+
type: "array",
|
|
28
|
+
items: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
parking_id: { type: "string" },
|
|
32
|
+
source: { type: "string" },
|
|
33
|
+
valid_from: { type: "string" },
|
|
34
|
+
valid_to: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
35
|
+
periods_of_time: {
|
|
36
|
+
type: "array",
|
|
37
|
+
items: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
day_in_week: { type: "string" },
|
|
41
|
+
start: { type: "string" },
|
|
42
|
+
end: { type: "string" },
|
|
43
|
+
ph: { type: "string" },
|
|
44
|
+
maximum_duration: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
45
|
+
disc_parking: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }] },
|
|
46
|
+
},
|
|
47
|
+
required: ["day_in_week", "start", "end", "ph"],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: ["parking_id", "source", "valid_from", "periods_of_time"],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
26
54
|
//# sourceMappingURL=OpeningHoursModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpeningHoursModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/OpeningHoursModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAIxF,MAAa,iBAAkB,SAAQ,iBAAoB;;AAA3D,
|
|
1
|
+
{"version":3,"file":"OpeningHoursModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/OpeningHoursModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAIxF,MAAa,iBAAkB,SAAQ,iBAAoB;;AAA3D,8CAuDC;AAtDiB,2BAAS,GAAG,wBAAwB,CAAC;AAQrC,gCAAc,GAAuC;IAC/D,UAAU,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,UAAU,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,eAAe,EAAE,qBAAS,CAAC,IAAI;CAClC,CAAC;AAEY,4BAAU,GAAG;IACvB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3E,eAAe,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACvB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACtB,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;wBACnF,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;qBACnF;oBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;iBAClD;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC;KACtE;CACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
|
|
2
|
+
export interface IEntrance {
|
|
3
|
+
entrance_id: string;
|
|
4
|
+
source: string;
|
|
5
|
+
parking_id: string;
|
|
6
|
+
location: TGeoCoordinates;
|
|
7
|
+
entry: boolean | null;
|
|
8
|
+
exit: boolean | null;
|
|
9
|
+
entrance_type: string[] | null;
|
|
10
|
+
level: number | null;
|
|
11
|
+
max_height: number | null;
|
|
12
|
+
max_width: number | null;
|
|
13
|
+
max_length: number | null;
|
|
14
|
+
max_weight: number | null;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEntrance.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IEntrance.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,7 @@ import { IParkingLocation } from "./IParkingLocation";
|
|
|
4
4
|
export interface IParkingWithLocationAndOccupancyInfo extends IParking {
|
|
5
5
|
parking_locations: IParkingLocation[];
|
|
6
6
|
parking_average_occupancy: boolean;
|
|
7
|
+
parking_entrances: IParkingEntrance[];
|
|
7
8
|
}
|
|
8
9
|
export interface IParking {
|
|
9
10
|
id: string;
|
|
@@ -37,3 +38,16 @@ export interface IContact {
|
|
|
37
38
|
phone?: string | null;
|
|
38
39
|
website?: string | null;
|
|
39
40
|
}
|
|
41
|
+
export interface IParkingEntrance {
|
|
42
|
+
entrance_id: string;
|
|
43
|
+
parking_id: string;
|
|
44
|
+
location: TGeoCoordinates;
|
|
45
|
+
entry: boolean | null;
|
|
46
|
+
exit: boolean | null;
|
|
47
|
+
entrance_type: string[] | null;
|
|
48
|
+
level: string | null;
|
|
49
|
+
max_height: string | null;
|
|
50
|
+
max_width: string | null;
|
|
51
|
+
max_length: string | null;
|
|
52
|
+
max_weight: string | null;
|
|
53
|
+
}
|
|
@@ -42,6 +42,8 @@ Pro statické (ručně zadané) tarify se stahuje JSON ze zdroje IPT.
|
|
|
42
42
|
|
|
43
43
|
Pro statické (ručně vytvořené) polygony placených parkovišť se stahuje GeoJSON ze zdroje IPT.
|
|
44
44
|
|
|
45
|
+
Data o vjezdech do parkovišť se stahují z ručně vytvořeného zdroje IPT.
|
|
46
|
+
|
|
45
47
|
#### Zóny placeného stání
|
|
46
48
|
|
|
47
49
|
Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, které mají přesnější geometrii.
|
|
@@ -348,6 +350,19 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
348
350
|
- parkingsLocationModel -> (schéma parkings) `parkings_location`
|
|
349
351
|
- parkingsOpeningHoursModel -> (schéma parkings) `parkings_opening_hours`
|
|
350
352
|
|
|
353
|
+
#### Task _SaveOsmEntrancesDataTask_
|
|
354
|
+
|
|
355
|
+
- vstupní rabbitmq fronta
|
|
356
|
+
- název: `dataplatform.parkings.saveOsmEntrancesDataTask`
|
|
357
|
+
- bez parametrů
|
|
358
|
+
- datové zdroje
|
|
359
|
+
- Ipt blob storage ručně tvořený zdroj (http)
|
|
360
|
+
- geojson formát
|
|
361
|
+
- transformace
|
|
362
|
+
- [OsmEntrancesTransformation](../src/integration-engine/transformations/osm/OsmEntrancesTransformation.ts)
|
|
363
|
+
- data modely
|
|
364
|
+
- EntranceModel -> (schéma parkings) `parking_entrances`
|
|
365
|
+
|
|
351
366
|
#### Task _SaveIptoictParkingDataTask_
|
|
352
367
|
|
|
353
368
|
- vstupní rabbitmq fronta
|
|
@@ -396,6 +411,19 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
396
411
|
- data modely
|
|
397
412
|
- ParkingAverageOccupancyModel -> (schéma parkings) `parkings_average_occupancy`
|
|
398
413
|
|
|
414
|
+
#### Task _SaveManualEntrancesDataTask_
|
|
415
|
+
|
|
416
|
+
- vstupní rabbitmq fronta
|
|
417
|
+
- název: `dataplatform.parkings.saveManualEntrancesDataTask`
|
|
418
|
+
- bez parametrů
|
|
419
|
+
- datové zdroje
|
|
420
|
+
- Ipt blob storage ručně tvořený zdroj (http)
|
|
421
|
+
- geojson formát
|
|
422
|
+
- transformace
|
|
423
|
+
- [EntrancesManualTransformation](../src/integration-engine/transformations/osm/EntrancesManualTransformation.ts)
|
|
424
|
+
- data modely
|
|
425
|
+
- EntranceModel -> (schéma parkings) `parking_entrances`
|
|
426
|
+
|
|
399
427
|
### Worker _ParkingsWorker_
|
|
400
428
|
|
|
401
429
|
#### _saveParkingLotsPrague_
|
|
@@ -586,6 +614,7 @@ _:warning: Deprecated, využijte /parking/measurements_
|
|
|
586
614
|
- parkings
|
|
587
615
|
- parkings_secondary (sekundární zdroj aktuálně pouze data z osm, můžou obsahovat duplicitní prvky k primarním zdrojům)
|
|
588
616
|
- parkings_location
|
|
617
|
+
- parking_entrances
|
|
589
618
|
- ~~zatím vytvořeno pro nové API od TSK další budou následovat~~ již integrováno několik dodavatelů
|
|
590
619
|
- nový formát výstupu viz open api dokumentace
|
|
591
620
|
|
|
@@ -595,6 +624,7 @@ _:warning: Deprecated, využijte /parking/measurements_
|
|
|
595
624
|
- parkings
|
|
596
625
|
- parkings_secondary
|
|
597
626
|
- parkings_location
|
|
627
|
+
- parking_entrances
|
|
598
628
|
|
|
599
629
|
#### _/v3/parking/:id/average-occupancy_
|
|
600
630
|
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1752,6 +1752,16 @@ components:
|
|
|
1752
1752
|
type:
|
|
1753
1753
|
type: string
|
|
1754
1754
|
example: FeatureCollection
|
|
1755
|
+
entrances:
|
|
1756
|
+
type: object
|
|
1757
|
+
properties:
|
|
1758
|
+
features:
|
|
1759
|
+
type: array
|
|
1760
|
+
items:
|
|
1761
|
+
$ref: '#/components/schemas/ParkingEntrance'
|
|
1762
|
+
type:
|
|
1763
|
+
type: string
|
|
1764
|
+
example: FeatureCollection
|
|
1755
1765
|
tariff:
|
|
1756
1766
|
type: string
|
|
1757
1767
|
format: uuid
|
|
@@ -1890,6 +1900,104 @@ components:
|
|
|
1890
1900
|
type:
|
|
1891
1901
|
type: string
|
|
1892
1902
|
example: Feature
|
|
1903
|
+
ParkingEntrance:
|
|
1904
|
+
type: object
|
|
1905
|
+
title: Parking Space
|
|
1906
|
+
properties:
|
|
1907
|
+
geometry:
|
|
1908
|
+
type: object
|
|
1909
|
+
properties:
|
|
1910
|
+
type:
|
|
1911
|
+
type: string
|
|
1912
|
+
enum:
|
|
1913
|
+
- Point
|
|
1914
|
+
- Polygon
|
|
1915
|
+
- MultiPolygon
|
|
1916
|
+
description: The type of geometry (GeoJSON Point, Polygon, MultiPolygon).
|
|
1917
|
+
coordinates:
|
|
1918
|
+
oneOf:
|
|
1919
|
+
- type: array
|
|
1920
|
+
items:
|
|
1921
|
+
type: number
|
|
1922
|
+
example: [14.441252, 50.109318]
|
|
1923
|
+
description: Point coordinates
|
|
1924
|
+
- type: array
|
|
1925
|
+
items:
|
|
1926
|
+
type: array
|
|
1927
|
+
items:
|
|
1928
|
+
type: array
|
|
1929
|
+
items:
|
|
1930
|
+
type: number
|
|
1931
|
+
example:
|
|
1932
|
+
[
|
|
1933
|
+
[14.50823156003554, 50.10498927328214],
|
|
1934
|
+
[14.505782430390298, 50.1031042405622],
|
|
1935
|
+
[14.509701037821998, 50.1029471511537],
|
|
1936
|
+
[14.50823156003554, 50.10498927328214]
|
|
1937
|
+
]
|
|
1938
|
+
description: Polygon coordinates
|
|
1939
|
+
- type: array
|
|
1940
|
+
items:
|
|
1941
|
+
type: array
|
|
1942
|
+
items:
|
|
1943
|
+
type: array
|
|
1944
|
+
items:
|
|
1945
|
+
type: array
|
|
1946
|
+
items:
|
|
1947
|
+
type: number
|
|
1948
|
+
example:
|
|
1949
|
+
[
|
|
1950
|
+
[
|
|
1951
|
+
[14.50823156003554, 50.10498927328214],
|
|
1952
|
+
[14.505782430390298, 50.1031042405622],
|
|
1953
|
+
[14.509701037821998, 50.1029471511537],
|
|
1954
|
+
[14.50823156003554, 50.10498927328214]
|
|
1955
|
+
],
|
|
1956
|
+
[
|
|
1957
|
+
[14.50823156003554, 50.10498927328214],
|
|
1958
|
+
[14.505782430390298, 50.1031042405622],
|
|
1959
|
+
[14.509701037821998, 50.1029471511537],
|
|
1960
|
+
[14.50823156003554, 50.10498927328214]
|
|
1961
|
+
]
|
|
1962
|
+
]
|
|
1963
|
+
description: MultiPolygon coordinates
|
|
1964
|
+
description: Coordinates of the geometry.
|
|
1965
|
+
description: GeoJSON geometry of the parking space.
|
|
1966
|
+
properties:
|
|
1967
|
+
type: object
|
|
1968
|
+
properties:
|
|
1969
|
+
entry:
|
|
1970
|
+
type: boolean
|
|
1971
|
+
nullable: true
|
|
1972
|
+
exit:
|
|
1973
|
+
type: boolean
|
|
1974
|
+
nullable: true
|
|
1975
|
+
entrance_type:
|
|
1976
|
+
type: array
|
|
1977
|
+
nullable: true
|
|
1978
|
+
items:
|
|
1979
|
+
type: string
|
|
1980
|
+
level:
|
|
1981
|
+
type: number
|
|
1982
|
+
nullable: true
|
|
1983
|
+
dimension:
|
|
1984
|
+
type: object
|
|
1985
|
+
properties:
|
|
1986
|
+
max_height:
|
|
1987
|
+
type: number
|
|
1988
|
+
nullable: true
|
|
1989
|
+
max_width:
|
|
1990
|
+
type: number
|
|
1991
|
+
nullable: true
|
|
1992
|
+
max_length:
|
|
1993
|
+
type: number
|
|
1994
|
+
nullable: true
|
|
1995
|
+
max_weight:
|
|
1996
|
+
type: number
|
|
1997
|
+
nullable: true
|
|
1998
|
+
type:
|
|
1999
|
+
type: string
|
|
2000
|
+
example: Feature
|
|
1893
2001
|
ParkingRestriction:
|
|
1894
2002
|
title: Parking Restriction
|
|
1895
2003
|
description:
|
|
@@ -2252,4 +2360,3 @@ components:
|
|
|
2252
2360
|
max_width: 2.5
|
|
2253
2361
|
max_length: 5.0
|
|
2254
2362
|
max_weight: 1500
|
|
2255
|
-
|