@golemio/parkings 1.21.1-dev.1819373496 → 1.21.1-dev.1838191925
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/ParkingInterface.d.ts +2 -2
- package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js +1 -0
- package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingsRepository.d.ts +1 -0
- package/dist/integration-engine/repositories/ParkingsRepository.js +9 -1
- package/dist/integration-engine/repositories/ParkingsRepository.js.map +1 -1
- package/dist/integration-engine/transformations/TskParkingFilter.d.ts +2 -0
- package/dist/integration-engine/transformations/TskParkingFilter.js +4 -0
- package/dist/integration-engine/transformations/TskParkingFilter.js.map +1 -1
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.d.ts +1 -1
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js +9 -2
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js.map +1 -1
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.d.ts +2 -2
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.js +8 -4
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js +16 -5
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js +19 -8
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js.map +1 -1
- package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js +3 -1
- package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/TskParkingSectionSchema.js +2 -0
- package/dist/schema-definitions/datasources/TskParkingSectionSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.d.ts +2 -1
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.d.ts +3 -2
- package/dist/schema-definitions/datasources/interfaces/ITskParkingValidity.d.ts +4 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingValidity.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingValidity.js.map +1 -0
- package/docs/implementation_documentation.md +9 -1
- package/package.json +1 -1
|
@@ -13,8 +13,8 @@ export interface IParking {
|
|
|
13
13
|
name: string | null;
|
|
14
14
|
total_spot_number: number | null;
|
|
15
15
|
category?: string;
|
|
16
|
-
valid_from?: string;
|
|
17
|
-
valid_to?: string;
|
|
16
|
+
valid_from?: string | null;
|
|
17
|
+
valid_to?: string | null;
|
|
18
18
|
parking_type: string | null;
|
|
19
19
|
zone_type?: string | null;
|
|
20
20
|
centroid?: IGeoCoordinatesPoint;
|
|
@@ -38,6 +38,7 @@ let TskParkingDataSourceFactory = exports.TskParkingDataSourceFactory = class Ts
|
|
|
38
38
|
return new datasources_1.DataSource(this.schemas[endpoint].name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
39
39
|
headers: {
|
|
40
40
|
Authorization: `Basic ${authToken}`,
|
|
41
|
+
"api-version": "1.3",
|
|
41
42
|
},
|
|
42
43
|
method: "GET",
|
|
43
44
|
url: this.config.datasources.parking.TskApiBaseUrl + this.config.datasources.parking.TskApiEndpoints[endpoint],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/TskParkingDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4GAAqF;AACrF,oHAA6F;AAC7F,0GAAmF;AACnF,gHAAyF;AAEzF,mFAAqG;AACrG,6IAA0I;AAC1I,mEAA2E;AAC3E,mFAAkF;AAClF,iEAAwE;AAUjE,IAAM,2BAA2B,yCAAjC,MAAM,2BAA2B;IASpC,YAA2C,MAA8B;QAAtB,WAAM,GAAN,MAAM,CAAgB;QARjE,YAAO,GAAsB;YACjC,eAAe,EAAE,iDAAuB;YACxC,sBAAsB,EAAE,2DAA4B;YACpD,sBAAsB,EAAE,2DAA4B;YACpD,eAAe,EAAE,mDAAwB;YACzC,cAAc,EAAE,uDAA0B;SAC7C,CAAC;IAE0E,CAAC;IAEtE,aAAa,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CACxH,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,IAAI,wBAAU,CACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE;gBACL,aAAa,EAAE,SAAS,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"TskParkingDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/TskParkingDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4GAAqF;AACrF,oHAA6F;AAC7F,0GAAmF;AACnF,gHAAyF;AAEzF,mFAAqG;AACrG,6IAA0I;AAC1I,mEAA2E;AAC3E,mFAAkF;AAClF,iEAAwE;AAUjE,IAAM,2BAA2B,yCAAjC,MAAM,2BAA2B;IASpC,YAA2C,MAA8B;QAAtB,WAAM,GAAN,MAAM,CAAgB;QARjE,YAAO,GAAsB;YACjC,eAAe,EAAE,iDAAuB;YACxC,sBAAsB,EAAE,2DAA4B;YACpD,sBAAsB,EAAE,2DAA4B;YACpD,eAAe,EAAE,mDAAwB;YACzC,cAAc,EAAE,uDAA0B;SAC7C,CAAC;IAE0E,CAAC;IAEtE,aAAa,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CACxH,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,IAAI,wBAAU,CACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE;gBACL,aAAa,EAAE,SAAS,SAAS,EAAE;gBACnC,aAAa,EAAE,KAAK;aACvB;YACD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;SACjH,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAC1F,CAAC;IACN,CAAC;CACJ,CAAA;sCA9BY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;IAUI,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GATjC,2BAA2B,CA8BvC"}
|
|
@@ -4,6 +4,7 @@ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/mod
|
|
|
4
4
|
export declare class ParkingsRepository extends PostgresModel implements IModel {
|
|
5
5
|
private parkingTariffRelationsRepository;
|
|
6
6
|
constructor(parkingTariffRelationsRepository: ParkingTariffRelationsRepository);
|
|
7
|
+
private associate;
|
|
7
8
|
GetOne: (id: string) => Promise<(IParking & {
|
|
8
9
|
parking_tariffs_relation: {
|
|
9
10
|
tariff_id: string | null;
|
|
@@ -13,8 +13,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ParkingsRepository = void 0;
|
|
16
|
-
const ParkingTariffRelationsRepository_1 = require("./ParkingTariffRelationsRepository");
|
|
17
16
|
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
17
|
+
const ParkingTariffRelationsRepository_1 = require("./ParkingTariffRelationsRepository");
|
|
18
18
|
const _sch_1 = require("../../schema-definitions");
|
|
19
19
|
const ParkingsDtoSchema_1 = require("../../schema-definitions/datasources/ParkingsDtoSchema");
|
|
20
20
|
const ParkingModel_1 = require("../../schema-definitions/models/ParkingModel");
|
|
@@ -32,6 +32,13 @@ let ParkingsRepository = exports.ParkingsRepository = class ParkingsRepository e
|
|
|
32
32
|
savingType: "insertOrUpdate",
|
|
33
33
|
}, new golemio_validator_1.JSONSchemaValidator("ParkingsRepositoryValidator", ParkingsDtoSchema_1.ParkingsDtoSchema));
|
|
34
34
|
this.parkingTariffRelationsRepository = parkingTariffRelationsRepository;
|
|
35
|
+
this.associate = () => {
|
|
36
|
+
this.sequelizeModel.hasOne(this.parkingTariffRelationsRepository["sequelizeModel"], {
|
|
37
|
+
as: "parking_tariffs_relation",
|
|
38
|
+
foreignKey: "parking_id",
|
|
39
|
+
sourceKey: "id",
|
|
40
|
+
});
|
|
41
|
+
};
|
|
35
42
|
this.GetOne = async (id) => {
|
|
36
43
|
try {
|
|
37
44
|
return await this.sequelizeModel.findOne({
|
|
@@ -83,6 +90,7 @@ let ParkingsRepository = exports.ParkingsRepository = class ParkingsRepository e
|
|
|
83
90
|
this.saveWithoutAddressAndName = async (parkings, transaction) => {
|
|
84
91
|
await this.bulkSave(parkings, this.getParkingAttributesToUpdateWithoutName(), false, false, transaction);
|
|
85
92
|
};
|
|
93
|
+
this.associate();
|
|
86
94
|
}
|
|
87
95
|
async findWithOutdatedAddress(batchSize, updateInterval) {
|
|
88
96
|
return this.find({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ParkingsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { ITskParkingValidity } from "../../schema-definitions/datasources/interfaces/ITskParkingValidity";
|
|
1
2
|
export declare class TskParkingFilter {
|
|
2
3
|
filterUniqueParkings(data: any): Array<Record<string, any>>;
|
|
3
4
|
isSameParking(a: Record<string, any>, b: Record<string, any>): boolean;
|
|
5
|
+
static isWithinValidityPeriod(parking: ITskParkingValidity): boolean;
|
|
4
6
|
}
|
|
@@ -28,6 +28,10 @@ class TskParkingFilter {
|
|
|
28
28
|
}
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
|
+
static isWithinValidityPeriod(parking) {
|
|
32
|
+
return ((!parking.validFrom || new Date(parking.validFrom) <= new Date()) &&
|
|
33
|
+
(!parking.validTo || new Date(parking.validTo) >= new Date()));
|
|
34
|
+
}
|
|
31
35
|
}
|
|
32
36
|
exports.TskParkingFilter = TskParkingFilter;
|
|
33
37
|
//# sourceMappingURL=TskParkingFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingFilter.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingFilter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TskParkingFilter.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingFilter.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAClB,oBAAoB,CAAC,IAAS;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC3C,IAAI,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE;oBAClD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC7C,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iBACvD;aACJ;iBAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACjE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aACtD;SACJ;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,CAAsB,EAAE,CAAsB;QAC/D,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/G,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACnB,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,OAA4B;QAC7D,OAAO,CACH,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAChE,CAAC;IACN,CAAC;CACJ;AAnCD,4CAmCC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
2
1
|
import { IParkingLocation } from "../ParkingInterface";
|
|
3
2
|
import { ITskParkingSectionLevel } from "../../schema-definitions/datasources/interfaces/ITskParkingSectionLevel";
|
|
3
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
4
4
|
export declare class TskParkingSectionLevelTransformation extends AbstractTransformation<ITskParkingSectionLevel, IParkingLocation> {
|
|
5
5
|
private specialAccess?;
|
|
6
6
|
name: string;
|
|
@@ -11,10 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TskParkingSectionLevelTransformation = void 0;
|
|
13
13
|
const SourceEnum_1 = require("../../helpers/constants/SourceEnum");
|
|
14
|
+
const GeodataHelper_1 = require("../helpers/GeodataHelper");
|
|
14
15
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
15
16
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
17
|
const wkt_1 = require("@terraformer/wkt");
|
|
17
|
-
const GeodataHelper_1 = require("../helpers/GeodataHelper");
|
|
18
18
|
let TskParkingSectionLevelTransformation = exports.TskParkingSectionLevelTransformation = class TskParkingSectionLevelTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
19
19
|
constructor(specialAccess) {
|
|
20
20
|
super();
|
|
@@ -22,6 +22,13 @@ let TskParkingSectionLevelTransformation = exports.TskParkingSectionLevelTransfo
|
|
|
22
22
|
this.name = "TskParkingSectionLevelTransformation";
|
|
23
23
|
this.transformInternal = (zone) => {
|
|
24
24
|
const location = (0, wkt_1.wktToGeoJSON)(zone.borderWKT);
|
|
25
|
+
const specialAccessArray = [];
|
|
26
|
+
if (this.specialAccess) {
|
|
27
|
+
specialAccessArray.push(this.specialAccess);
|
|
28
|
+
}
|
|
29
|
+
if (zone.sectionItemCode && zone.sectionItemCode.includes("BUS")) {
|
|
30
|
+
specialAccessArray.push("bus");
|
|
31
|
+
}
|
|
25
32
|
return {
|
|
26
33
|
id: SourceEnum_1.SourceEnum.TSK_V2 + "-" + zone.idSectionItem,
|
|
27
34
|
data_provider: "www.tsk-praha.cz",
|
|
@@ -30,7 +37,7 @@ let TskParkingSectionLevelTransformation = exports.TskParkingSectionLevelTransfo
|
|
|
30
37
|
total_spot_number: zone.projectedCapacity,
|
|
31
38
|
source: SourceEnum_1.SourceEnum.TSK_V2,
|
|
32
39
|
source_id: zone.idSection,
|
|
33
|
-
special_access:
|
|
40
|
+
special_access: specialAccessArray.length > 0 ? specialAccessArray : undefined,
|
|
34
41
|
};
|
|
35
42
|
};
|
|
36
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingSectionLevelTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionLevelTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAA2D;AAC3D,6GAA0G;
|
|
1
|
+
{"version":3,"file":"TskParkingSectionLevelTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionLevelTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAA2D;AAC3D,4DAA8D;AAG9D,6GAA0G;AAE1G,iEAAgE;AAChE,0CAAgD;AAGzC,IAAM,oCAAoC,kDAA1C,MAAM,oCAAqC,SAAQ,+CAAiE;IAGvH,YAAoB,aAAsB;QACtC,KAAK,EAAE,CAAC;QADQ,kBAAa,GAAb,aAAa,CAAS;QAF1C,SAAI,GAAW,sCAAsC,CAAC;QAM5C,sBAAiB,GAAG,CAAC,IAA6B,EAAoB,EAAE;YAC9E,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,IAAI,CAAC,SAAS,CAAoB,CAAC;YACjE,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC/C;YACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC9D,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YAED,OAAO;gBACH,EAAE,EAAE,uBAAU,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa;gBAChD,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;gBACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,MAAM,EAAE,uBAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC;QACN,CAAC,CAAC;IAvBF,CAAC;CAwBJ,CAAA;+CA7BY,oCAAoC;IADhD,IAAA,qBAAU,GAAE;;GACA,oCAAoC,CA6BhD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IParkingTariffRelation } from "../../schema-definitions/models/interfaces/IParkingTariffRelation";
|
|
2
|
-
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
1
|
import { IParking } from "../ParkingInterface";
|
|
4
2
|
import { ITskParkingSection } from "../../schema-definitions/datasources/interfaces/ITskParkingSection";
|
|
3
|
+
import { IParkingTariffRelation } from "../../schema-definitions/models/interfaces/IParkingTariffRelation";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
5
|
export declare class TskParkingSectionTransformation extends AbstractTransformation<ITskParkingSection, IParking> {
|
|
6
6
|
private transformationDate;
|
|
7
7
|
name: string;
|
|
@@ -11,12 +11,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TskParkingSectionTransformation = void 0;
|
|
13
13
|
const SourceEnum_1 = require("../../helpers/constants/SourceEnum");
|
|
14
|
+
const GeodataHelper_1 = require("../helpers/GeodataHelper");
|
|
15
|
+
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
14
16
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
17
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
15
18
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
19
|
const wkt_1 = require("@terraformer/wkt");
|
|
17
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
18
|
-
const GeodataHelper_1 = require("../helpers/GeodataHelper");
|
|
19
|
-
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
20
20
|
let TskParkingSectionTransformation = exports.TskParkingSectionTransformation = class TskParkingSectionTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
21
21
|
constructor(transformationDate) {
|
|
22
22
|
super();
|
|
@@ -24,7 +24,10 @@ let TskParkingSectionTransformation = exports.TskParkingSectionTransformation =
|
|
|
24
24
|
this.name = "TskParkingSectionTransformation";
|
|
25
25
|
this.transformInternal = (section) => {
|
|
26
26
|
const location = (0, wkt_1.wktToGeoJSON)(section.borderWKT);
|
|
27
|
-
const valid_from =
|
|
27
|
+
const valid_from = section.validFrom
|
|
28
|
+
? helpers_1.DateTime.fromISO(section.validFrom, { timeZone: "Europe/Prague" }).toISOString()
|
|
29
|
+
: null;
|
|
30
|
+
const valid_to = section.validTo ? helpers_1.DateTime.fromISO(section.validTo, { timeZone: "Europe/Prague" }).toISOString() : null;
|
|
28
31
|
return {
|
|
29
32
|
id: "tsk2-" + section.sectionCode,
|
|
30
33
|
source: SourceEnum_1.SourceEnum.TSK_V2,
|
|
@@ -35,6 +38,7 @@ let TskParkingSectionTransformation = exports.TskParkingSectionTransformation =
|
|
|
35
38
|
total_spot_number: section.projectedCapacity,
|
|
36
39
|
category: this.getSectionCat(section.sectionCat),
|
|
37
40
|
valid_from,
|
|
41
|
+
valid_to,
|
|
38
42
|
parking_type: "on_street",
|
|
39
43
|
zone_type: "zone",
|
|
40
44
|
date_modified: this.transformationDate.toISOString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingSectionTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAA2D;
|
|
1
|
+
{"version":3,"file":"TskParkingSectionTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAA2D;AAC3D,4DAA8D;AAI9D,wDAAsD;AACtD,6GAA0G;AAE1G,6EAAwE;AACxE,iEAAgE;AAChE,0CAAgD;AAGzC,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,+CAAoD;IAGrG,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAF5C,SAAI,GAAW,iCAAiC,CAAC;QAMvC,sBAAiB,GAAG,CAAC,OAA2B,EAAY,EAAE;YACpE,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,OAAO,CAAC,SAAS,CAAoB,CAAC;YACpE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS;gBAChC,CAAC,CAAC,kBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE;gBAClF,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzH,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gBACjC,MAAM,EAAE,uBAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBAChD,UAAU;gBACV,QAAQ;gBACR,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;gBACrC,cAAc,EAAE,MAAM;gBACtB,MAAM,EAAE,IAAI;aACf,CAAC;QACN,CAAC,CAAC;QAEK,oCAA+B,GAAG,CAAC,QAA8B,EAA4B,EAAE;YAClG,MAAM,qBAAqB,GAAG,EAAE,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,OAAO,CAAC,QAAQ,EAAE;oBAClB,qBAAqB,CAAC,IAAI,CAAC;wBACvB,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;wBACzC,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,MAAM,EAAE,uBAAU,CAAC,MAAM;qBAC5B,CAAC,CAAC;iBACN;aACJ;YAED,OAAO,qBAAqB,CAAC;QACjC,CAAC,CAAC;IA1CF,CAAC;IA4CO,aAAa,CAAC,KAAa;QAC/B,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBACF,OAAO,MAAM,CAAC;YAClB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB;gBACI,MAAM,IAAI,6BAAY,CAAC,4BAA4B,KAAK,wBAAwB,CAAC,CAAC;SACzF;IACL,CAAC;CACJ,CAAA;0CAjEY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;qCAI+B,IAAI;GAHnC,+BAA+B,CAiE3C"}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SaveTskParkingSectionLevelTask = void 0;
|
|
4
4
|
const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
|
|
5
|
+
const TskParkingFilter_1 = require("../../transformations/TskParkingFilter");
|
|
5
6
|
const UpdateAddressWorker_1 = require("../UpdateAddressWorker");
|
|
6
7
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
8
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
7
9
|
class SaveTskParkingSectionLevelTask extends integration_engine_1.AbstractEmptyTask {
|
|
8
10
|
constructor(queueName, queuePrefix, dataSource, transformation, parkingsLocationRepository, config) {
|
|
9
11
|
super(queuePrefix);
|
|
@@ -14,11 +16,20 @@ class SaveTskParkingSectionLevelTask extends integration_engine_1.AbstractEmptyT
|
|
|
14
16
|
this.config = config;
|
|
15
17
|
}
|
|
16
18
|
async execute() {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
try {
|
|
20
|
+
const sourceData = await this.dataSource.getAll();
|
|
21
|
+
const filteredData = sourceData.filter((parking) => TskParkingFilter_1.TskParkingFilter.isWithinValidityPeriod(parking));
|
|
22
|
+
const parkingLocations = this.transformation.transformArray(filteredData);
|
|
23
|
+
await this.parkingsLocationRepository.saveWithoutAddress(parkingLocations, SourceEnum_1.SourceEnum.TSK);
|
|
24
|
+
const exchange = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
25
|
+
await integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateMissingParkingsLocationAddresses", {});
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof golemio_errors_1.AbstractGolemioError) {
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
throw new golemio_errors_1.GeneralError("Error while saving TSK parking section levels", this.constructor.name, error);
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
}
|
|
24
35
|
exports.SaveTskParkingSectionLevelTask = SaveTskParkingSectionLevelTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveTskParkingSectionLevelTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.ts"],"names":[],"mappings":";;;AAAA,sEAA2D;
|
|
1
|
+
{"version":3,"file":"SaveTskParkingSectionLevelTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.ts"],"names":[],"mappings":";;;AAAA,sEAA2D;AAE3D,6EAAwE;AAExE,gEAAsE;AAGtE,8EAAwF;AAExF,6EAA8F;AAE9F,MAAa,8BAA+B,SAAQ,sCAAiB;IACjE,YACoB,SAAiB,EACjC,WAAmB,EACX,UAAiD,EACjD,cAAoD,EACpD,0BAAsD,EACtD,MAAqB;QAE7B,KAAK,CAAC,WAAW,CAAC,CAAC;QAPH,cAAS,GAAT,SAAS,CAAQ;QAEzB,eAAU,GAAV,UAAU,CAAuC;QACjD,mBAAc,GAAd,cAAc,CAAsC;QACpD,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,WAAM,GAAN,MAAM,CAAe;IAGjC,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI;YACA,MAAM,UAAU,GAA8B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7E,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACtG,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,uBAAU,CAAC,GAAG,CAAC,CAAC;YAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;YAC1E,MAAM,iCAAY,CAAC,qBAAqB,CACpC,QAAQ,GAAG,GAAG,GAAG,yCAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7D,wCAAwC,EACxC,EAAE,CACL,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YACD,MAAM,IAAI,6BAAY,CAAC,+CAA+C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACzG;IACL,CAAC;CACJ;AAhCD,wEAgCC"}
|
|
@@ -5,6 +5,8 @@ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
|
5
5
|
const TskParkingSectionTransformation_1 = require("../../transformations/TskParkingSectionTransformation");
|
|
6
6
|
const UpdateAddressWorker_1 = require("../UpdateAddressWorker");
|
|
7
7
|
const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
|
|
8
|
+
const TskParkingFilter_1 = require("../../transformations/TskParkingFilter");
|
|
9
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
8
10
|
class SaveTskParkingSectionsTask extends integration_engine_1.AbstractEmptyTask {
|
|
9
11
|
constructor(queuePrefix, dataSource, parkingsRepository, parkingTariffRelationsRepository, config) {
|
|
10
12
|
super(queuePrefix);
|
|
@@ -15,14 +17,23 @@ class SaveTskParkingSectionsTask extends integration_engine_1.AbstractEmptyTask
|
|
|
15
17
|
this.queueName = "saveTskParkingSections";
|
|
16
18
|
}
|
|
17
19
|
async execute() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
try {
|
|
21
|
+
const sourceData = await this.dataSource.getAll();
|
|
22
|
+
const filteredData = sourceData.filter((parking) => TskParkingFilter_1.TskParkingFilter.isWithinValidityPeriod(parking));
|
|
23
|
+
const transformation = new TskParkingSectionTransformation_1.TskParkingSectionTransformation(new Date());
|
|
24
|
+
const transformedParkings = transformation.transformArray(filteredData);
|
|
25
|
+
await this.parkingsRepository.saveActiveParkingsWithoutAddress(transformedParkings, SourceEnum_1.SourceEnum.TSK_V2);
|
|
26
|
+
const transformedParkingTariffsRelationData = transformation.transformParkingTariffsRelation(filteredData);
|
|
27
|
+
await this.parkingTariffRelationsRepository.saveTariffsRelations(transformedParkingTariffsRelationData, SourceEnum_1.SourceEnum.TSK_V2);
|
|
28
|
+
const exchange = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
29
|
+
await integration_engine_1.QueueManager.sendMessageToExchange(exchange + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateMissingParkingsAddresses", {});
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (error instanceof golemio_errors_1.AbstractGolemioError) {
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
throw new golemio_errors_1.GeneralError("Error while saving TSK parking sections", this.constructor.name, error);
|
|
36
|
+
}
|
|
26
37
|
}
|
|
27
38
|
}
|
|
28
39
|
exports.SaveTskParkingSectionsTask = SaveTskParkingSectionsTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveTskParkingSectionsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingSectionsTask.ts"],"names":[],"mappings":";;;AACA,8EAAwF;AAIxF,2GAAsG;AACtG,gEAAsE;AAEtE,sEAA2D;
|
|
1
|
+
{"version":3,"file":"SaveTskParkingSectionsTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveTskParkingSectionsTask.ts"],"names":[],"mappings":";;;AACA,8EAAwF;AAIxF,2GAAsG;AACtG,gEAAsE;AAEtE,sEAA2D;AAC3D,6EAAwE;AACxE,6EAA8F;AAE9F,MAAa,0BAA2B,SAAQ,sCAAiB;IAG7D,YACI,WAAmB,EACX,UAA4C,EAC5C,kBAAsC,EACtC,gCAAkE,EAClE,MAAqB;QAE7B,KAAK,CAAC,WAAW,CAAC,CAAC;QALX,eAAU,GAAV,UAAU,CAAkC;QAC5C,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,qCAAgC,GAAhC,gCAAgC,CAAkC;QAClE,WAAM,GAAN,MAAM,CAAe;QAPjB,cAAS,GAAG,wBAAwB,CAAC;IAUrD,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI;YACA,MAAM,UAAU,GAAyB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACtG,MAAM,cAAc,GAAG,IAAI,iEAA+B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvE,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAExE,MAAM,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,mBAAmB,EAAE,uBAAU,CAAC,MAAM,CAAC,CAAC;YACvG,MAAM,qCAAqC,GAAG,cAAc,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;YAC3G,MAAM,IAAI,CAAC,gCAAgC,CAAC,oBAAoB,CAC5D,qCAAqC,EACrC,uBAAU,CAAC,MAAM,CACpB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;YAC1E,MAAM,iCAAY,CAAC,qBAAqB,CACpC,QAAQ,GAAG,GAAG,GAAG,yCAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7D,gCAAgC,EAChC,EAAE,CACL,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YACD,MAAM,IAAI,6BAAY,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnG;IACL,CAAC;CACJ;AAxCD,gEAwCC"}
|
|
@@ -10,13 +10,15 @@ exports.TskParkingSectionLevelSchema = {
|
|
|
10
10
|
properties: {
|
|
11
11
|
idSectionItem: { type: "string" },
|
|
12
12
|
idSection: { type: "string" },
|
|
13
|
-
sectionItemCode: { type: "string" },
|
|
13
|
+
sectionItemCode: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
14
14
|
streetNameValid: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
15
15
|
sectionCat: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
16
16
|
borderWKT: { type: "string" },
|
|
17
17
|
parkingType: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
18
18
|
projectedCapacity: { type: "integer" },
|
|
19
19
|
activeFrom: { type: "string" },
|
|
20
|
+
validFrom: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
21
|
+
validTo: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
20
22
|
},
|
|
21
23
|
required: ["idSectionItem", "idSection", "sectionItemCode", "borderWKT", "projectedCapacity", "activeFrom"],
|
|
22
24
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingSectionLevelSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/TskParkingSectionLevelSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,4BAA4B,GAAiD;IACtF,IAAI,EAAE,uBAAuB;IAC7B,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"TskParkingSectionLevelSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/TskParkingSectionLevelSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,4BAA4B,GAAiD;IACtF,IAAI,EAAE,uBAAuB;IAC7B,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAClF,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAClF,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC9E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC/E,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC5E,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;aAC7E;YACD,QAAQ,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,CAAC;SAC9G;KACJ;CACJ,CAAC"}
|
|
@@ -15,6 +15,8 @@ exports.TskParkingSectionSchema = {
|
|
|
15
15
|
idTariff: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
16
16
|
projectedCapacity: { type: "integer" },
|
|
17
17
|
activeFrom: { type: "string" },
|
|
18
|
+
validFrom: { type: "string" },
|
|
19
|
+
validTo: { type: "string" },
|
|
18
20
|
},
|
|
19
21
|
required: ["idSection", "sectionCode", "sectionCat", "borderWKT", "idTariff", "projectedCapacity", "activeFrom"],
|
|
20
22
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingSectionSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/TskParkingSectionSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,uBAAuB,GAA4C;IAC5E,IAAI,EAAE,0BAA0B;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC3E,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"TskParkingSectionSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/TskParkingSectionSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,uBAAuB,GAA4C;IAC5E,IAAI,EAAE,0BAA0B;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC3E,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9B;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,CAAC;SACnH;KACJ;CACJ,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { ITskParkingValidity } from "./ITskParkingValidity";
|
|
2
|
+
export interface ITskParkingSectionLevel extends ITskParkingValidity {
|
|
2
3
|
idSectionItem: string;
|
|
3
4
|
idSection: string;
|
|
4
|
-
sectionItemCode: string;
|
|
5
|
+
sectionItemCode: string | null;
|
|
5
6
|
streetNameValid: string | null;
|
|
6
7
|
sectionCat: number | null;
|
|
7
8
|
borderWKT: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITskParkingValidity.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/ITskParkingValidity.ts"],"names":[],"mappings":""}
|
|
@@ -168,9 +168,17 @@ Další datový zdroj zón je API TSK (CIS VHD CD API) značené jako v2
|
|
|
168
168
|
- validační schéma tarify: https://gitlab.com/operator-ict/golemio/code/modules/parkings/-/blob/development/src/schema-definitions/datasources/TskParkingZoneTariffSchema.ts
|
|
169
169
|
|
|
170
170
|
- transformace a ukládání:
|
|
171
|
-
- sections => parkings
|
|
171
|
+
- sections => parkings
|
|
172
|
+
- ukládají se pouze platná parkoviště podle pravidel níže
|
|
172
173
|
- section levels => parkings_location
|
|
174
|
+
- ukladají se pouze platná parkovací místa podle pravidel níže
|
|
173
175
|
- tariffs => parkings_tariffs
|
|
176
|
+
- pravidla pro určení platnosti parkoviště / parkovacího místa
|
|
177
|
+
- validFrom =null, validTo=1-1-2030 - platné
|
|
178
|
+
- validFrom = 1-1-2020, validTo = null - platné
|
|
179
|
+
- validFrom = null, validTo = null - platné
|
|
180
|
+
- validFrom = 1-1-2030, validTo = null - zatím neplatné
|
|
181
|
+
- validFrom = null, validTo=1-1-2024 - už neplatné
|
|
174
182
|
|
|
175
183
|
- frekvence stahování
|
|
176
184
|
|