@golemio/parkings 1.4.4-dev.799650919 → 1.4.4-dev.801012679
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/dist/integration-engine/ParkingsWorker.js +11 -1
- package/dist/integration-engine/ParkingsWorker.js.map +1 -1
- package/dist/integration-engine/datasources/StaticParkingLotsGeoDataSourceFactory.d.ts +4 -0
- package/dist/integration-engine/datasources/StaticParkingLotsGeoDataSourceFactory.js +17 -0
- package/dist/integration-engine/datasources/StaticParkingLotsGeoDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/transformations/ParkingLotsTransformation.d.ts +2 -1
- package/dist/integration-engine/transformations/ParkingLotsTransformation.js +10 -1
- package/dist/integration-engine/transformations/ParkingLotsTransformation.js.map +1 -1
- package/dist/integration-engine/workers/StaticTariffsWorker.js +1 -1
- package/dist/integration-engine/workers/StaticTariffsWorker.js.map +1 -1
- package/dist/integration-engine/{tasks → workers/tasks}/UpdateStaticTariffsTask.d.ts +4 -4
- package/dist/integration-engine/workers/tasks/UpdateStaticTariffsTask.js.map +1 -0
- package/dist/output-gateway/data-access/TskParkingLotsRepository.js +5 -5
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js +1 -1
- package/dist/schema-definitions/datasources/StaticParkingLotsGeoJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/StaticParkingLotsGeoJsonSchema.js +47 -0
- package/dist/schema-definitions/datasources/StaticParkingLotsGeoJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticParkingLotsGeo.d.ts +12 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticParkingLotsGeo.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IStaticParkingLotsGeo.js.map +1 -0
- package/docs/implementation-documentation.md +7 -0
- package/docs/openapi.yaml +39 -3
- package/package.json +3 -3
- package/dist/integration-engine/tasks/UpdateStaticTariffsTask.js.map +0 -1
- /package/dist/integration-engine/{tasks → workers/tasks}/UpdateStaticTariffsTask.js +0 -0
|
@@ -34,6 +34,7 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
34
34
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
35
35
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
36
36
|
const _1 = require("./");
|
|
37
|
+
const StaticParkingLotsGeoDataSourceFactory_1 = require("./datasources/StaticParkingLotsGeoDataSourceFactory");
|
|
37
38
|
const TskAverageOccupancyRepository_1 = require("./repositories/TskAverageOccupancyRepository");
|
|
38
39
|
class ParkingsWorker extends workers_1.BaseWorker {
|
|
39
40
|
constructor() {
|
|
@@ -97,7 +98,16 @@ class ParkingsWorker extends workers_1.BaseWorker {
|
|
|
97
98
|
*/
|
|
98
99
|
this.saveParkingLotsPrague = () => __awaiter(this, void 0, void 0, function* () {
|
|
99
100
|
const data = yield this.dataSource.getAll();
|
|
100
|
-
|
|
101
|
+
let staticGeoData;
|
|
102
|
+
try {
|
|
103
|
+
// "optional" datasource enhancing geo locations
|
|
104
|
+
// objectively the datasource is static data maitained by IPT
|
|
105
|
+
staticGeoData = (yield StaticParkingLotsGeoDataSourceFactory_1.StaticParkingLotsGeoDataSourceFactory.getDataSource(config_1.config.datasources.StaticParkingLotsGeoSourceUrl).getAll()).features;
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
integration_engine_1.log.error(`Error while getting static parking lots geo: ${err.message}`);
|
|
109
|
+
}
|
|
110
|
+
const { geo: geoData } = yield this.parkingLotsTransformation.transform(data, staticGeoData);
|
|
101
111
|
yield this.parkingsModel.save(geoData);
|
|
102
112
|
yield this.redisModel.truncate(false);
|
|
103
113
|
for (const item of geoData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingsWorker.js","sourceRoot":"","sources":["../../src/integration-engine/ParkingsWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2EAA6E;AAC7E,0FAAyF;AACzF,0EAAyE;AACzE,sFAAqF;AACrF,yFAAwF;AACxF,2FAA0F;AAC1F,qGAAoG;AACpG,yFAAwF;AACxF,uEAAsE;AACtE,qGAAiF;
|
|
1
|
+
{"version":3,"file":"ParkingsWorker.js","sourceRoot":"","sources":["../../src/integration-engine/ParkingsWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StaticParkingLotsGeoDataSourceFactory = void 0;
|
|
4
|
+
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
5
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
6
|
+
const StaticParkingLotsGeoJsonSchema_1 = require("../../schema-definitions/datasources/StaticParkingLotsGeoJsonSchema");
|
|
7
|
+
class StaticParkingLotsGeoDataSourceFactory {
|
|
8
|
+
static getDataSource(sourceUrl) {
|
|
9
|
+
return new datasources_1.DataSource("StaticParkingLotsGeoDataSource", new datasources_1.HTTPProtocolStrategy({
|
|
10
|
+
headers: {},
|
|
11
|
+
method: "GET",
|
|
12
|
+
url: sourceUrl,
|
|
13
|
+
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(StaticParkingLotsGeoJsonSchema_1.StaticParkingLotsGeoJsonSchema.name, StaticParkingLotsGeoJsonSchema_1.StaticParkingLotsGeoJsonSchema.jsonSchema));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.StaticParkingLotsGeoDataSourceFactory = StaticParkingLotsGeoDataSourceFactory;
|
|
17
|
+
//# sourceMappingURL=StaticParkingLotsGeoDataSourceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticParkingLotsGeoDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/StaticParkingLotsGeoDataSourceFactory.ts"],"names":[],"mappings":";;;AAAA,mFAA2H;AAC3H,mFAAkF;AAClF,wHAAiG;AAEjG,MAAa,qCAAqC;IACvC,MAAM,CAAC,aAAa,CAAC,SAAiB;QACzC,OAAO,IAAI,wBAAU,CACjB,gCAAgC,EAChC,IAAI,kCAAoB,CAAC;YACrB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;SACjB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,+DAA8B,CAAC,IAAI,EAAE,+DAA8B,CAAC,UAAU,CAAC,CAC1G,CAAC;IACN,CAAC;CACJ;AAbD,sFAaC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine";
|
|
2
2
|
import { IParking, IParkingMeasurements } from "../ParkingInterface";
|
|
3
|
+
import { IStaticParkingLotsGeoFeature } from "../../schema-definitions/datasources/interfaces/IStaticParkingLotsGeo";
|
|
3
4
|
export interface IParkingLotsTransform {
|
|
4
5
|
geo: IParking[];
|
|
5
6
|
measurements: IParkingMeasurements[];
|
|
@@ -8,7 +9,7 @@ export declare class ParkingLotsTransformation extends BaseTransformation implem
|
|
|
8
9
|
name: string;
|
|
9
10
|
private readonly dataSource;
|
|
10
11
|
constructor();
|
|
11
|
-
transform: (data: any) => Promise<IParkingLotsTransform>;
|
|
12
|
+
transform: (data: any, customGeoFeatures?: IStaticParkingLotsGeoFeature[]) => Promise<IParkingLotsTransform>;
|
|
12
13
|
protected transformElement: (element: any) => {
|
|
13
14
|
geo: IParking;
|
|
14
15
|
measurements: IParkingMeasurements;
|
|
@@ -22,10 +22,19 @@ const ParkingLotType = {
|
|
|
22
22
|
class ParkingLotsTransformation extends integration_engine_1.BaseTransformation {
|
|
23
23
|
constructor() {
|
|
24
24
|
super();
|
|
25
|
-
this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
this.transform = (data, customGeoFeatures) => __awaiter(this, void 0, void 0, function* () {
|
|
26
26
|
const result = { geo: [], measurements: [] };
|
|
27
27
|
for (const element of data) {
|
|
28
28
|
const transformedData = this.transformElement(element);
|
|
29
|
+
// "optional" geo location enhancement
|
|
30
|
+
if (customGeoFeatures) {
|
|
31
|
+
for (const customGeoFeature of customGeoFeatures) {
|
|
32
|
+
if (customGeoFeature.properties.id === transformedData.geo.id) {
|
|
33
|
+
transformedData.geo = Object.assign(Object.assign({}, transformedData.geo), { location: customGeoFeature.geometry });
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
29
38
|
result.geo.push(transformedData.geo);
|
|
30
39
|
result.measurements.push(transformedData.measurements);
|
|
31
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingLotsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/ParkingLotsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA4F;AAC5F,mDAAgC;AAEhC,+DAA2E;AAC3E,yEAAsE;AACtE,4CAA8C;
|
|
1
|
+
{"version":3,"file":"ParkingLotsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/ParkingLotsTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA4F;AAC5F,mDAAgC;AAEhC,+DAA2E;AAC3E,yEAAsE;AACtE,4CAA8C;AAG9C,MAAM,cAAc,GAAG;IACnB,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,mBAAmB;CAC7B,CAAC;AAOF,MAAa,yBAA0B,SAAQ,uCAAkB;IAI7D;QACI,KAAK,EAAE,CAAC;QAKL,cAAS,GAAG,CAAO,IAAS,EAAE,iBAAkD,EAAkC,EAAE;YACvH,MAAM,MAAM,GAA0B,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YACpE,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;gBACxB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAEvD,sCAAsC;gBACtC,IAAI,iBAAiB,EAAE;oBACnB,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;wBAC9C,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;4BAC3D,eAAe,CAAC,GAAG,mCACZ,eAAe,CAAC,GAAG,KACtB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,GACtC,CAAC;4BACF,MAAM;yBACT;qBACJ;iBACJ;gBAED,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC1D;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CAAC,OAAY,EAAyD,EAAE;YACjG,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;YAEnE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;gBACrB,MAAM,IAAI,oBAAW,CAAC,yBAAyB,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;aAC5G;YAED,kEAAkE;YAClE,OAAO;gBACH,GAAG,EAAE;oBACD,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE;oBAC1B,aAAa,EAAE,kBAAkB;oBACjC,QAAQ,EAAE;wBACN,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC/D,IAAI,EAAE,wBAAkB,CAAC,KAAK;qBACjC;oBACD,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;oBAC3C,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,eAAM,CAAC,oBAAoB,cAAc,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE;oBACjH,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,EAAiC,CAAC;oBACnE,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,EAAiC,CAAC;oBACvE,QAAQ,EAAE;wBACN,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC/D,IAAI,EAAE,wBAAkB,CAAC,KAAK;qBACjC;oBACD,aAAa,EAAE,YAAY;iBAC9B;gBACD,YAAY,EAAE;oBACV,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE;oBAC1B,UAAU,EAAE,SAAS;oBACrB,qBAAqB,EAAE,OAAO,CAAC,eAAe;oBAC9C,oBAAoB,EAAE,OAAO,CAAC,gBAAgB;oBAC9C,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;oBAC3C,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;iBACnD;aACJ,CAAC;QACN,CAAC,CAAC;QAEM,4BAAuB,GAAG,CAAC,EAAU,EAAiB,EAAE;YAC5D,QAAQ,EAAE,EAAE;gBACR,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,aAAa;gBAC/B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,iBAAiB;gBACnC,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,UAAU;gBAC5B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,aAAa;gBAC/B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,QAAQ;gBAC1B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,gBAAgB;gBAClC,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,UAAU;gBAC5B,KAAK,MAAM;oBACP,OAAO,KAAK,CAAC,CAAC,mBAAmB;gBACrC,KAAK,OAAO;oBACR,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B,KAAK,OAAO;oBACR,OAAO,KAAK,CAAC,CAAC,WAAW;gBAC7B;oBACI,OAAO,IAAI,CAAC;aACnB;QACL,CAAC,CAAC;QAxGE,IAAI,CAAC,IAAI,GAAG,eAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;CAuGJ;AA/GD,8DA+GC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StaticTariffsWorker = void 0;
|
|
4
4
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
5
|
-
const UpdateStaticTariffsTask_1 = require("
|
|
5
|
+
const UpdateStaticTariffsTask_1 = require("./tasks/UpdateStaticTariffsTask");
|
|
6
6
|
const StaticTariffsTransformation_1 = require("../transformations/StaticTariffsTransformation");
|
|
7
7
|
const ParkingTariffsRepository_1 = require("../repositories/ParkingTariffsRepository");
|
|
8
8
|
const StaticTariffsMatcher_1 = require("../transformations/StaticTariffsMatcher");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticTariffsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/StaticTariffsWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"StaticTariffsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/StaticTariffsWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,6EAAoF;AACpF,gGAA8F;AAC9F,uFAAqF;AACrF,kFAAgF;AAChF,2EAAyE;AACzE,kGAAgG;AAChG,yEAAsE;AAEtE,MAAa,mBAAoB,SAAQ,mCAAc;IAGnD;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAW,qBAAqB,CAAC;QAIpD,MAAM,aAAa,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,iDAAuB,CACpC,IAAI,CAAC,cAAc,EAAE,EACrB,+DAA8B,CAAC,aAAa,CAAC,eAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,EACxF,IAAI,yDAA2B,EAAE,EACjC,IAAI,mDAAwB,EAAE,EAC9B,aAAa,EACb,IAAI,2CAAoB,CAAC,aAAa,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAhBD,kDAgBC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
2
|
import { DataSource } from "@golemio/core/dist/integration-engine/datasources";
|
|
3
|
-
import { StaticTariffsTransformation } from "
|
|
4
|
-
import { ParkingTariffsRepository } from "
|
|
5
|
-
import { StaticTariffsMatcher } from "
|
|
6
|
-
import { ParkingsRepository } from "
|
|
3
|
+
import { StaticTariffsTransformation } from "../../transformations/StaticTariffsTransformation";
|
|
4
|
+
import { ParkingTariffsRepository } from "../../repositories/ParkingTariffsRepository";
|
|
5
|
+
import { StaticTariffsMatcher } from "../../transformations/StaticTariffsMatcher";
|
|
6
|
+
import { ParkingsRepository } from "../../repositories/ParkingsRepository";
|
|
7
7
|
export declare class UpdateStaticTariffsTask extends AbstractEmptyTask {
|
|
8
8
|
readonly queueName = "updateStaticTariffs";
|
|
9
9
|
readonly queueTtl: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateStaticTariffsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateStaticTariffsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA0E;AAI1E,6EAAuE;AAMvE,MAAa,uBAAwB,SAAQ,sCAAiB;IAU1D,YACI,WAAmB,EACnB,UAAsB,EACtB,WAAwC,EACxC,oBAA8C,EAC9C,aAAiC,EACjC,OAA6B;QAE7B,KAAK,CAAC,WAAW,CAAC,CAAC;QAjBP,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QAiBhD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEY,OAAO;;YAChB,IAAI;gBACA,MAAM,IAAI,GAAsB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEtD,MAAM,OAAO,GAAe,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CACjB,kDAAkD,GAAG,CAAC,OAAO,EAAE,EAC/D,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;CACJ;AAhDD,0DAgDC"}
|
|
@@ -29,7 +29,7 @@ class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
|
29
29
|
this.GetAll = (options = {}) => __awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
let whereAttributes = {
|
|
31
31
|
source: { [sequelize_1.default.Op.in]: ["tsk", "TSK"] },
|
|
32
|
-
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("
|
|
32
|
+
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("centroid")), "ST_Point")],
|
|
33
33
|
};
|
|
34
34
|
let order = [];
|
|
35
35
|
if (options.updatedSince) {
|
|
@@ -39,9 +39,9 @@ class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
|
39
39
|
}
|
|
40
40
|
if (options.lat && options.lng) {
|
|
41
41
|
if (options.range) {
|
|
42
|
-
whereAttributes.range = sequelize_1.default.where(sequelize_1.default.fn("ST_DWithin", sequelize_1.default.col("
|
|
42
|
+
whereAttributes.range = sequelize_1.default.where(sequelize_1.default.fn("ST_DWithin", sequelize_1.default.col("centroid"), sequelize_1.default.cast(sequelize_1.default.fn("ST_SetSRID", sequelize_1.default.fn("ST_MakePoint", options.lng, options.lat), 4326), "geography"), options.range, true), "true");
|
|
43
43
|
}
|
|
44
|
-
order.push(sequelize_1.default.fn("ST_Distance", sequelize_1.default.col("
|
|
44
|
+
order.push(sequelize_1.default.fn("ST_Distance", sequelize_1.default.col("centroid"), sequelize_1.default.cast(sequelize_1.default.fn("ST_SetSRID", sequelize_1.default.fn("ST_MakePoint", options.lng, options.lat), 4326), "geography")));
|
|
45
45
|
}
|
|
46
46
|
const result = yield this.sequelizeModel.findAll({
|
|
47
47
|
attributes: this.attributeOptions,
|
|
@@ -75,7 +75,7 @@ class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
|
75
75
|
source: {
|
|
76
76
|
[sequelize_1.default.Op.in]: ["tsk", "TSK"],
|
|
77
77
|
},
|
|
78
|
-
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("
|
|
78
|
+
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("centroid")), "ST_Point")],
|
|
79
79
|
},
|
|
80
80
|
include: [
|
|
81
81
|
...this.includeOptions,
|
|
@@ -118,7 +118,7 @@ class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
|
118
118
|
}
|
|
119
119
|
get attributeOptions() {
|
|
120
120
|
return [
|
|
121
|
-
"
|
|
121
|
+
"centroid",
|
|
122
122
|
"parking_type",
|
|
123
123
|
[sequelize_1.default.col("parkings.source_id"), "id"],
|
|
124
124
|
"name",
|
|
@@ -21,7 +21,7 @@ var ParkingTypeEnum;
|
|
|
21
21
|
class TskFeatureMapper {
|
|
22
22
|
static formatOutput(record) {
|
|
23
23
|
const _a = record.get({ plain: true }), { parking_type, id, last_updated, payment_link } = _a, rest = __rest(_a, ["parking_type", "id", "last_updated", "payment_link"]);
|
|
24
|
-
return (0, output_gateway_1.buildGeojsonFeatureType)("
|
|
24
|
+
return (0, output_gateway_1.buildGeojsonFeatureType)("centroid", Object.assign(Object.assign({ parking_type: this.createParkingTypeObject(parking_type), id: Number.isNaN(parseInt(id)) ? id : parseInt(id), last_updated: last_updated ? parseInt(last_updated) : null }, rest), this.getPaymentAttributes(payment_link)));
|
|
25
25
|
}
|
|
26
26
|
static createParkingTypeObject(parkingType) {
|
|
27
27
|
return parkingType === ParkingTypeEnum.ParkAndRide
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StaticParkingLotsGeoJsonSchema = void 0;
|
|
4
|
+
const SharedSchemaProvider_1 = require("@golemio/core/dist/schema-definitions/SharedSchemaProvider");
|
|
5
|
+
exports.StaticParkingLotsGeoJsonSchema = {
|
|
6
|
+
name: "StaticParkingLotsGeo",
|
|
7
|
+
jsonSchema: {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
type: {
|
|
11
|
+
type: "string",
|
|
12
|
+
enum: ["FeatureCollection"],
|
|
13
|
+
},
|
|
14
|
+
features: {
|
|
15
|
+
type: "array",
|
|
16
|
+
items: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {
|
|
19
|
+
type: {
|
|
20
|
+
type: "string",
|
|
21
|
+
enum: ["Feature"],
|
|
22
|
+
},
|
|
23
|
+
properties: {
|
|
24
|
+
type: "object",
|
|
25
|
+
properties: {
|
|
26
|
+
id: {
|
|
27
|
+
type: "string",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
required: ["id"],
|
|
31
|
+
},
|
|
32
|
+
geometry: {
|
|
33
|
+
$ref: "#/definitions/geometry",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
required: ["geometry", "properties", "type"],
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: ["features", "type"],
|
|
41
|
+
definitions: {
|
|
42
|
+
// @ts-expect-error since it is referenced definition from other file ts doesnt like it.
|
|
43
|
+
geometry: SharedSchemaProvider_1.SharedSchemaProvider.Geometry,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=StaticParkingLotsGeoJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticParkingLotsGeoJsonSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/StaticParkingLotsGeoJsonSchema.ts"],"names":[],"mappings":";;;AAEA,qGAAkG;AAErF,QAAA,8BAA8B,GAA6C;IACpF,IAAI,EAAE,sBAAsB;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;aAC9B;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,IAAI,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,SAAS,CAAC;yBACpB;wBACD,UAAU,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,EAAE,EAAE;oCACA,IAAI,EAAE,QAAQ;iCACjB;6BACJ;4BACD,QAAQ,EAAE,CAAC,IAAI,CAAC;yBACnB;wBACD,QAAQ,EAAE;4BACN,IAAI,EAAE,wBAAwB;yBACjC;qBACJ;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC9B,WAAW,EAAE;YACT,wFAAwF;YACxF,QAAQ,EAAE,2CAAoB,CAAC,QAAQ;SAC1C;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
|
|
2
|
+
export interface IStaticParkingLotsGeo {
|
|
3
|
+
type: "FeatureCollection";
|
|
4
|
+
features: IStaticParkingLotsGeoFeature[];
|
|
5
|
+
}
|
|
6
|
+
export interface IStaticParkingLotsGeoFeature {
|
|
7
|
+
type: "Feature";
|
|
8
|
+
geometry: TGeoCoordinates;
|
|
9
|
+
properties: {
|
|
10
|
+
id: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IStaticParkingLotsGeo.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IStaticParkingLotsGeo.ts"],"names":[],"mappings":""}
|
|
@@ -30,6 +30,8 @@ Pro ZTP parkoviště se z API se stahuje JSON z https://opendata.iprpraha.cz/CUR
|
|
|
30
30
|
|
|
31
31
|
Pro statické (ručně zadané) tarify se stahuje JSON ze zdroje IPT.
|
|
32
32
|
|
|
33
|
+
Pro statické (ručně vytvořené) polygony placených parkovišť se stahuje GeoJSON ze zdroje IPT.
|
|
34
|
+
|
|
33
35
|
#### Zóny placeného stání
|
|
34
36
|
|
|
35
37
|
Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, které mají přesnější geometrii.
|
|
@@ -124,10 +126,13 @@ Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, kte
|
|
|
124
126
|
|
|
125
127
|
Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického zdroje IPT.
|
|
126
128
|
|
|
129
|
+
Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje IPT (výměna bodu za multipolygon). Původní bod je uložen do centroidu.
|
|
130
|
+
|
|
127
131
|
## Zpracování dat / transformace
|
|
128
132
|
|
|
129
133
|
Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vychází z centroidu geometrie daného parkoviště a získává se z Photon API metodou `GeocodeApi.getAddressByLatLngFromPhoton` v modulu Core.
|
|
130
134
|
Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického zdroje IPT.
|
|
135
|
+
Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje IPT (výměna bodu za multipolygon). Původní bod je uložen do centroidu.
|
|
131
136
|
|
|
132
137
|
### Worker *ParkingsWorker*
|
|
133
138
|
|
|
@@ -162,6 +167,7 @@ Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického
|
|
|
162
167
|
- bez parametrů
|
|
163
168
|
- datové zdroje
|
|
164
169
|
- dataSource (http),
|
|
170
|
+
- statický IPT zdroj (http),
|
|
165
171
|
- transformace
|
|
166
172
|
- [ParkingLotsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/integration-engine/ParkingLotsTransformation.ts) - mapování pro `parkingsModel` a `parkingsLocationModel`
|
|
167
173
|
- data modely
|
|
@@ -319,6 +325,7 @@ _:warning: Deprecated, vyžijte /parking nebo /parking/detail_
|
|
|
319
325
|
- implementováno dodatečně
|
|
320
326
|
- zpětně kompatibilní s Mongo GeoJSON routerem
|
|
321
327
|
- navrácí pouze `tsk` data
|
|
328
|
+
- používá sloupec centroid pro geolokaci, je nutné, aby vracel pouze body, ale parkoviště může být i multipolygon
|
|
322
329
|
|
|
323
330
|
#### _/parkings/history_
|
|
324
331
|
|
package/docs/openapi.yaml
CHANGED
|
@@ -429,7 +429,7 @@ components:
|
|
|
429
429
|
properties:
|
|
430
430
|
geometry:
|
|
431
431
|
type: object
|
|
432
|
-
description:
|
|
432
|
+
description: GeoJson geometry
|
|
433
433
|
properties:
|
|
434
434
|
|
|
435
435
|
coordinates:
|
|
@@ -438,17 +438,53 @@ components:
|
|
|
438
438
|
items:
|
|
439
439
|
type: number
|
|
440
440
|
example: [14.441252, 50.109318]
|
|
441
|
+
description: Point
|
|
441
442
|
- type: array
|
|
442
443
|
items:
|
|
443
444
|
type: array
|
|
444
445
|
items:
|
|
445
|
-
type:
|
|
446
|
-
|
|
446
|
+
type: array
|
|
447
|
+
items:
|
|
448
|
+
type: number
|
|
449
|
+
example:
|
|
450
|
+
[[
|
|
451
|
+
[14.50823156003554, 50.10498927328214],
|
|
452
|
+
[14.505782430390298, 50.1031042405622],
|
|
453
|
+
[14.509701037821998, 50.1029471511537],
|
|
454
|
+
[14.50823156003554, 50.10498927328214]
|
|
455
|
+
]]
|
|
456
|
+
description: Polygon
|
|
457
|
+
- type: array
|
|
458
|
+
items:
|
|
459
|
+
type: array
|
|
460
|
+
items:
|
|
461
|
+
type: array
|
|
462
|
+
items:
|
|
463
|
+
type: array
|
|
464
|
+
items:
|
|
465
|
+
type: number
|
|
466
|
+
example:
|
|
467
|
+
[
|
|
468
|
+
[[
|
|
469
|
+
[14.50823156003554, 50.10498927328214],
|
|
470
|
+
[14.505782430390298, 50.1031042405622],
|
|
471
|
+
[14.509701037821998, 50.1029471511537],
|
|
472
|
+
[14.50823156003554, 50.10498927328214]
|
|
473
|
+
]],
|
|
474
|
+
[[
|
|
475
|
+
[14.50823156003554, 50.10498927328214],
|
|
476
|
+
[14.505782430390298, 50.1031042405622],
|
|
477
|
+
[14.509701037821998, 50.1029471511537],
|
|
478
|
+
[14.50823156003554, 50.10498927328214]
|
|
479
|
+
]]
|
|
480
|
+
]
|
|
481
|
+
description: MultiPolygon
|
|
447
482
|
type:
|
|
448
483
|
type: string
|
|
449
484
|
enum:
|
|
450
485
|
- Point
|
|
451
486
|
- Polygon
|
|
487
|
+
- MultiPolygon
|
|
452
488
|
properties:
|
|
453
489
|
type: object
|
|
454
490
|
properties:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/parkings",
|
|
3
|
-
"version": "1.4.4-dev.
|
|
3
|
+
"version": "1.4.4-dev.801012679",
|
|
4
4
|
"description": "Golemio Parkings Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@commitlint/cli": "^11.0.0",
|
|
33
33
|
"@commitlint/config-conventional": "^11.0.0",
|
|
34
|
-
"@golemio/cli": "1.4.
|
|
35
|
-
"@golemio/core": "1.
|
|
34
|
+
"@golemio/cli": "1.4.2",
|
|
35
|
+
"@golemio/core": "1.6.2",
|
|
36
36
|
"@golemio/eslint-config": "1.1.0",
|
|
37
37
|
"@ovos-media/ts-transform-paths": "^1.7.18-1",
|
|
38
38
|
"@types/chai": "4.2.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateStaticTariffsTask.js","sourceRoot":"","sources":["../../../src/integration-engine/tasks/UpdateStaticTariffsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA0E;AAI1E,6EAAuE;AAMvE,MAAa,uBAAwB,SAAQ,sCAAiB;IAU1D,YACI,WAAmB,EACnB,UAAsB,EACtB,WAAwC,EACxC,oBAA8C,EAC9C,aAAiC,EACjC,OAA6B;QAE7B,KAAK,CAAC,WAAW,CAAC,CAAC;QAjBP,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QAiBhD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEY,OAAO;;YAChB,IAAI;gBACA,MAAM,IAAI,GAAsB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEtD,MAAM,OAAO,GAAe,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,4BAAW,EAAE;oBAC5B,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,4BAAW,CACjB,kDAAkD,GAAG,CAAC,OAAO,EAAE,EAC/D,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;CACJ;AAhDD,0DAgDC"}
|
|
File without changes
|