@golemio/parkings 1.3.1 → 1.4.0-rc.782854163
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 +1 -0
- package/db/example/03_tsk_measurements_for_legacy_endpoints.sql +35 -0
- package/db/example/99_refresh_views.sql +1 -0
- package/db/migrations/postgresql/20230127010432-tsk-view-for-legacy-parking-endpoints.js +53 -0
- package/db/migrations/postgresql/sqls/20230127010432-tsk-view-for-legacy-parking-endpoints-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20230127010432-tsk-view-for-legacy-parking-endpoints-up.sql +40 -0
- package/dist/integration-engine/ParkingsWorker.d.ts +5 -13
- package/dist/integration-engine/ParkingsWorker.js +66 -189
- package/dist/integration-engine/ParkingsWorker.js.map +1 -1
- package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.js +0 -6
- package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesTransformation.js.map +1 -1
- package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.js +12 -2
- package/dist/integration-engine/ZtpParkingZones/ZtpParkingZonesWorker.js.map +1 -1
- package/dist/integration-engine/helpers/GeodataHelper.d.ts +1 -3
- package/dist/integration-engine/helpers/GeodataHelper.js +1 -20
- package/dist/integration-engine/helpers/GeodataHelper.js.map +1 -1
- package/dist/integration-engine/helpers/LocationBuilderHelper.d.ts +1 -1
- package/dist/integration-engine/helpers/LocationBuilderHelper.js +4 -11
- package/dist/integration-engine/helpers/LocationBuilderHelper.js.map +1 -1
- package/dist/integration-engine/index.d.ts +4 -4
- package/dist/integration-engine/index.js +4 -4
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +10 -39
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/{models/ParkingTariffsModel.d.ts → repositories/ParkingTariffsRepository.d.ts} +1 -1
- package/dist/integration-engine/repositories/ParkingTariffsRepository.js +18 -0
- package/dist/integration-engine/repositories/ParkingTariffsRepository.js.map +1 -0
- package/dist/integration-engine/repositories/ParkingsLocationRepository.d.ts +6 -0
- package/dist/integration-engine/repositories/ParkingsLocationRepository.js +40 -0
- package/dist/integration-engine/repositories/ParkingsLocationRepository.js.map +1 -0
- package/dist/integration-engine/{models/ParkingsModel.d.ts → repositories/ParkingsRepository.d.ts} +1 -1
- package/dist/integration-engine/{models/ParkingsModel.js → repositories/ParkingsRepository.js} +8 -8
- package/dist/integration-engine/repositories/ParkingsRepository.js.map +1 -0
- package/dist/integration-engine/repositories/TskAverageOccupancyRepository.d.ts +8 -0
- package/dist/integration-engine/repositories/TskAverageOccupancyRepository.js +41 -0
- package/dist/integration-engine/repositories/TskAverageOccupancyRepository.js.map +1 -0
- package/dist/integration-engine/tasks/UpdateStaticTariffsTask.d.ts +3 -3
- package/dist/integration-engine/tasks/UpdateStaticTariffsTask.js.map +1 -1
- package/dist/integration-engine/{IPRParkingTransformation.d.ts → transformations/IPRParkingTransformation.d.ts} +0 -0
- package/dist/integration-engine/{IPRParkingTransformation.js → transformations/IPRParkingTransformation.js} +1 -1
- package/dist/integration-engine/transformations/IPRParkingTransformation.js.map +1 -0
- package/dist/integration-engine/{KoridParkingConfigTransformation.d.ts → transformations/KoridParkingConfigTransformation.d.ts} +1 -1
- package/dist/integration-engine/{KoridParkingConfigTransformation.js → transformations/KoridParkingConfigTransformation.js} +2 -5
- package/dist/integration-engine/transformations/KoridParkingConfigTransformation.js.map +1 -0
- package/dist/integration-engine/{KoridParkingDataTransformation.d.ts → transformations/KoridParkingDataTransformation.d.ts} +1 -1
- package/dist/integration-engine/{KoridParkingDataTransformation.js → transformations/KoridParkingDataTransformation.js} +2 -2
- package/dist/integration-engine/transformations/KoridParkingDataTransformation.js.map +1 -0
- package/dist/integration-engine/{ParkingLotsTransformation.d.ts → transformations/ParkingLotsTransformation.d.ts} +1 -1
- package/dist/integration-engine/{ParkingLotsTransformation.js → transformations/ParkingLotsTransformation.js} +1 -1
- package/dist/integration-engine/transformations/ParkingLotsTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/StaticTariffsMatcher.d.ts +2 -2
- package/dist/integration-engine/transformations/StaticTariffsMatcher.js.map +1 -1
- package/dist/integration-engine/{TSKParkingTariffTransformation.d.ts → transformations/TSKParkingTariffTransformation.d.ts} +1 -1
- package/dist/integration-engine/{TSKParkingTariffTransformation.js → transformations/TSKParkingTariffTransformation.js} +1 -1
- package/dist/integration-engine/transformations/TSKParkingTariffTransformation.js.map +1 -0
- package/dist/integration-engine/{TSKParkingTransformation.d.ts → transformations/TSKParkingTransformation.d.ts} +1 -1
- package/dist/integration-engine/{TSKParkingTransformation.js → transformations/TSKParkingTransformation.js} +1 -1
- package/dist/integration-engine/transformations/TSKParkingTransformation.js.map +1 -0
- package/dist/integration-engine/workers/StaticTariffsWorker.js +4 -4
- package/dist/integration-engine/workers/StaticTariffsWorker.js.map +1 -1
- package/dist/integration-engine/workers/UpdateAddressWorker.d.ts +6 -0
- package/dist/integration-engine/workers/UpdateAddressWorker.js +19 -0
- package/dist/integration-engine/workers/UpdateAddressWorker.js.map +1 -0
- package/dist/integration-engine/workers/schemas/PointSchema.d.ts +5 -0
- package/dist/integration-engine/workers/schemas/PointSchema.js +27 -0
- package/dist/integration-engine/workers/schemas/PointSchema.js.map +1 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressAndNameSchema.d.ts +7 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressAndNameSchema.js +22 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressAndNameSchema.js.map +1 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressSchema.d.ts +9 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressSchema.js +29 -0
- package/dist/integration-engine/workers/schemas/UpdateAddressSchema.js.map +1 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressAndNameTask.d.ts +13 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressAndNameTask.js +41 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressAndNameTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressTask.d.ts +12 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressTask.js +40 -0
- package/dist/integration-engine/workers/tasks/UpdateAddressTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/UpdateLocationAddressTask.d.ts +12 -0
- package/dist/integration-engine/workers/tasks/UpdateLocationAddressTask.js +40 -0
- package/dist/integration-engine/workers/tasks/UpdateLocationAddressTask.js.map +1 -0
- package/dist/output-gateway/data-access/TskAverageOccupancyRepository.d.ts +6 -0
- package/dist/output-gateway/data-access/TskAverageOccupancyRepository.js +21 -0
- package/dist/output-gateway/data-access/TskAverageOccupancyRepository.js.map +1 -0
- package/dist/output-gateway/data-access/TskDistrictsRepository.d.ts +6 -0
- package/dist/output-gateway/data-access/TskDistrictsRepository.js +21 -0
- package/dist/output-gateway/data-access/TskDistrictsRepository.js.map +1 -0
- package/dist/output-gateway/data-access/TskParkingLotsRepository.d.ts +16 -0
- package/dist/output-gateway/data-access/TskParkingLotsRepository.js +152 -0
- package/dist/output-gateway/data-access/TskParkingLotsRepository.js.map +1 -0
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.d.ts +11 -0
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js +42 -0
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js.map +1 -0
- package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.d.ts +33 -0
- package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.js +3 -0
- package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.js.map +1 -0
- package/dist/output-gateway/index.d.ts +1 -0
- package/dist/output-gateway/index.js +1 -0
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/models/ParkingsLocationModel.js +2 -2
- package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsMeasurementsModels.d.ts +6 -1
- package/dist/output-gateway/models/ParkingsMeasurementsModels.js +58 -3
- package/dist/output-gateway/models/ParkingsMeasurementsModels.js.map +1 -1
- package/dist/output-gateway/models/ParkingsModel.js +9 -9
- package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsTariffsModel.js +2 -2
- package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
- package/dist/output-gateway/models/helpers/DetailAttributesHelper.js +7 -7
- package/dist/output-gateway/models/helpers/DetailAttributesHelper.js.map +1 -1
- package/dist/output-gateway/models/index.js +2 -2
- package/dist/output-gateway/models/index.js.map +1 -1
- package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.d.ts +15 -0
- package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.js +3 -0
- package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.js.map +1 -0
- package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.d.ts +12 -0
- package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.js +49 -0
- package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.js.map +1 -0
- package/dist/schema-definitions/Parkomats.d.ts +23 -23
- package/dist/schema-definitions/index.d.ts +129 -140
- package/dist/schema-definitions/index.js +29 -79
- package/dist/schema-definitions/index.js.map +1 -1
- package/dist/schema-definitions/models/TskAverageOccupancyModel.d.ts +8 -0
- package/dist/schema-definitions/models/TskAverageOccupancyModel.js +16 -0
- package/dist/schema-definitions/models/TskAverageOccupancyModel.js.map +1 -0
- package/dist/schema-definitions/models/TskDistrictsModel.d.ts +8 -0
- package/dist/schema-definitions/models/TskDistrictsModel.js +16 -0
- package/dist/schema-definitions/models/TskDistrictsModel.js.map +1 -0
- package/dist/schema-definitions/models/index.d.ts +2 -0
- package/dist/schema-definitions/models/index.js +19 -0
- package/dist/schema-definitions/models/index.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.d.ts +7 -0
- package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.js +3 -0
- package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.d.ts +4 -0
- package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.js +3 -0
- package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.js.map +1 -0
- package/docs/implementation-documentation.md +28 -15
- package/package.json +6 -9
- package/db/example/mongo_data/dataplatform/parkings.bson +0 -0
- package/db/example/mongo_data/dataplatform/parkings.metadata.json +0 -1
- package/db/example/mongo_data/dataplatform/parkings_history.bson +0 -0
- package/db/example/mongo_data/dataplatform/parkings_history.metadata.json +0 -1
- package/dist/integration-engine/IPRParkingTransformation.js.map +0 -1
- package/dist/integration-engine/KoridParkingConfigTransformation.js.map +0 -1
- package/dist/integration-engine/KoridParkingDataTransformation.js.map +0 -1
- package/dist/integration-engine/ParkingLotsTransformation.js.map +0 -1
- package/dist/integration-engine/ParkingsTransformation.d.ts +0 -9
- package/dist/integration-engine/ParkingsTransformation.js +0 -105
- package/dist/integration-engine/ParkingsTransformation.js.map +0 -1
- package/dist/integration-engine/TSKParkingTariffTransformation.js.map +0 -1
- package/dist/integration-engine/TSKParkingTransformation.js.map +0 -1
- package/dist/integration-engine/models/ParkingTariffsModel.js +0 -18
- package/dist/integration-engine/models/ParkingTariffsModel.js.map +0 -1
- package/dist/integration-engine/models/ParkingsModel.js.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PointSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class PointSchema {
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
(0, class_validator_1.IsString)(),
|
|
18
|
+
__metadata("design:type", String)
|
|
19
|
+
], PointSchema.prototype, "type", void 0);
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.ArrayMinSize)(2),
|
|
22
|
+
(0, class_validator_1.ArrayMaxSize)(2),
|
|
23
|
+
(0, class_validator_1.IsNumber)({}, { each: true }),
|
|
24
|
+
__metadata("design:type", Array)
|
|
25
|
+
], PointSchema.prototype, "coordinates", void 0);
|
|
26
|
+
exports.PointSchema = PointSchema;
|
|
27
|
+
//# sourceMappingURL=PointSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PointSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/PointSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA2G;AAG3G,MAAa,WAAW;CAQvB;AANG;IADC,IAAA,0BAAQ,GAAE;;yCACI;AAKf;IAHC,IAAA,8BAAY,EAAC,CAAC,CAAC;IACf,IAAA,8BAAY,EAAC,CAAC,CAAC;IACf,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;gDACN;AAP3B,kCAQC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IUpdateAddressInput, UpdateAddressValidationSchema } from "./UpdateAddressSchema";
|
|
2
|
+
export interface IUpdateAddressAndNameInput extends IUpdateAddressInput {
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare class UpdateAddressAndNameValidationSchema extends UpdateAddressValidationSchema {
|
|
6
|
+
name: number;
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateAddressAndNameValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
const UpdateAddressSchema_1 = require("./UpdateAddressSchema");
|
|
15
|
+
class UpdateAddressAndNameValidationSchema extends UpdateAddressSchema_1.UpdateAddressValidationSchema {
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsString)(),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], UpdateAddressAndNameValidationSchema.prototype, "name", void 0);
|
|
21
|
+
exports.UpdateAddressAndNameValidationSchema = UpdateAddressAndNameValidationSchema;
|
|
22
|
+
//# sourceMappingURL=UpdateAddressAndNameSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateAddressAndNameSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/UpdateAddressAndNameSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAqE;AACrE,+DAA6G;AAM7G,MAAa,oCAAqC,SAAQ,mDAA6B;CAGtF;AADG;IADC,IAAA,0BAAQ,GAAE;;kEACG;AAFlB,oFAGC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateAddressValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
const class_transformer_1 = require("@golemio/core/dist/shared/class-transformer");
|
|
15
|
+
const PointSchema_1 = require("./PointSchema");
|
|
16
|
+
class UpdateAddressValidationSchema {
|
|
17
|
+
}
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_validator_1.IsString)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], UpdateAddressValidationSchema.prototype, "id", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsObject)(),
|
|
24
|
+
(0, class_validator_1.ValidateNested)(),
|
|
25
|
+
(0, class_transformer_1.Type)(() => PointSchema_1.PointSchema),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], UpdateAddressValidationSchema.prototype, "point", void 0);
|
|
28
|
+
exports.UpdateAddressValidationSchema = UpdateAddressValidationSchema;
|
|
29
|
+
//# sourceMappingURL=UpdateAddressSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateAddressSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/UpdateAddressSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+F;AAC/F,mFAAmE;AAEnE,+CAA8D;AAO9D,MAAa,6BAA6B;CAQzC;AANG;IADC,IAAA,0BAAQ,GAAE;;yDACC;AAKZ;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAW,CAAC;;4DACV;AAPlB,sEAQC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { IUpdateAddressInput, UpdateAddressValidationSchema } from "../schemas/UpdateAddressSchema";
|
|
3
|
+
import { IUpdateAddressAndNameInput } from "../schemas/UpdateAddressAndNameSchema";
|
|
4
|
+
export declare class UpdateAddressAndNameTask extends AbstractTask<IUpdateAddressInput> {
|
|
5
|
+
readonly queueName = "updateAddressAndName";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof UpdateAddressValidationSchema;
|
|
8
|
+
private log;
|
|
9
|
+
private geocodeApi;
|
|
10
|
+
private repository;
|
|
11
|
+
constructor(queuePrefix: string);
|
|
12
|
+
protected execute(data: IUpdateAddressAndNameInput): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateAddressAndNameTask = void 0;
|
|
13
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
|
+
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
15
|
+
const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
|
|
16
|
+
const UpdateAddressSchema_1 = require("../schemas/UpdateAddressSchema");
|
|
17
|
+
class UpdateAddressAndNameTask extends integration_engine_1.AbstractTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "updateAddressAndName";
|
|
21
|
+
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
22
|
+
this.schema = UpdateAddressSchema_1.UpdateAddressValidationSchema;
|
|
23
|
+
this.log = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Logger);
|
|
24
|
+
this.geocodeApi = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.GeocodeApi);
|
|
25
|
+
this.repository = new ParkingsRepository_1.ParkingsRepository();
|
|
26
|
+
}
|
|
27
|
+
execute(data) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
const address = yield this.geocodeApi.getAddressByLatLngFromPhoton(data.point.coordinates[1], data.point.coordinates[0]);
|
|
31
|
+
const name = `${data.name} ${address.street_address}, ${address.address_region}`;
|
|
32
|
+
yield this.repository.update({ address, name }, { where: { id: data.id }, fields: ["address", "name"] });
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
this.log.error(`Error while updating address: ${err}`);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.UpdateAddressAndNameTask = UpdateAddressAndNameTask;
|
|
41
|
+
//# sourceMappingURL=UpdateAddressAndNameTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateAddressAndNameTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateAddressAndNameTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAqE;AAErE,mEAAuG;AAEvG,8EAAyE;AACzE,wEAA6G;AAG7G,MAAa,wBAAyB,SAAQ,iCAAiC;IAQ3E,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,mDAA6B,CAAC;QAOnD,IAAI,CAAC,GAAG,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,EAAE,CAAC;IAC/C,CAAC;IACe,OAAO,CAAC,IAAgC;;YACpD,IAAI;gBACA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5B,CAAC;gBACF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;gBACjF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAC5G;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;aAC1D;QACL,CAAC;KAAA;CACJ;AA1BD,4DA0BC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { IUpdateAddressInput, UpdateAddressValidationSchema } from "../schemas/UpdateAddressSchema";
|
|
3
|
+
export declare class UpdateAddressTask extends AbstractTask<IUpdateAddressInput> {
|
|
4
|
+
readonly queueName = "updateAddress";
|
|
5
|
+
readonly queueTtl: number;
|
|
6
|
+
readonly schema: typeof UpdateAddressValidationSchema;
|
|
7
|
+
private log;
|
|
8
|
+
private geocodeApi;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(queuePrefix: string);
|
|
11
|
+
protected execute(data: IUpdateAddressInput): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateAddressTask = void 0;
|
|
13
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
|
+
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
15
|
+
const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
|
|
16
|
+
const UpdateAddressSchema_1 = require("../schemas/UpdateAddressSchema");
|
|
17
|
+
class UpdateAddressTask extends integration_engine_1.AbstractTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "updateAddress";
|
|
21
|
+
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
22
|
+
this.schema = UpdateAddressSchema_1.UpdateAddressValidationSchema;
|
|
23
|
+
this.log = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Logger);
|
|
24
|
+
this.geocodeApi = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.GeocodeApi);
|
|
25
|
+
this.repository = new ParkingsRepository_1.ParkingsRepository();
|
|
26
|
+
}
|
|
27
|
+
execute(data) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
const address = yield this.geocodeApi.getAddressByLatLngFromPhoton(data.point.coordinates[1], data.point.coordinates[0]);
|
|
31
|
+
yield this.repository.update({ address }, { where: { id: data.id }, fields: ["address"] });
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
this.log.error(`Error while updating address: ${err}`);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.UpdateAddressTask = UpdateAddressTask;
|
|
40
|
+
//# sourceMappingURL=UpdateAddressTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateAddressTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateAddressTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAqE;AAErE,mEAAuG;AAEvG,8EAAyE;AACzE,wEAA6G;AAE7G,MAAa,iBAAkB,SAAQ,iCAAiC;IAQpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,eAAe,CAAC;QAC5B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,mDAA6B,CAAC;QAOnD,IAAI,CAAC,GAAG,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,IAAI,uCAAkB,EAAE,CAAC;IAC/C,CAAC;IACe,OAAO,CAAC,IAAyB;;YAC7C,IAAI;gBACA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5B,CAAC;gBACF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aAC9F;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;aAC1D;QACL,CAAC;KAAA;CACJ;AAzBD,8CAyBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
import { IUpdateAddressInput, UpdateAddressValidationSchema } from "../schemas/UpdateAddressSchema";
|
|
3
|
+
export declare class UpdateLocationAddressTask extends AbstractTask<IUpdateAddressInput> {
|
|
4
|
+
readonly queueName = "updateLocationAddress";
|
|
5
|
+
readonly queueTtl: number;
|
|
6
|
+
readonly schema: typeof UpdateAddressValidationSchema;
|
|
7
|
+
private log;
|
|
8
|
+
private geocodeApi;
|
|
9
|
+
private repository;
|
|
10
|
+
constructor(queuePrefix: string);
|
|
11
|
+
protected execute(data: IUpdateAddressInput): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateLocationAddressTask = void 0;
|
|
13
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
14
|
+
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
15
|
+
const UpdateAddressSchema_1 = require("../schemas/UpdateAddressSchema");
|
|
16
|
+
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
17
|
+
class UpdateLocationAddressTask extends integration_engine_1.AbstractTask {
|
|
18
|
+
constructor(queuePrefix) {
|
|
19
|
+
super(queuePrefix);
|
|
20
|
+
this.queueName = "updateLocationAddress";
|
|
21
|
+
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
22
|
+
this.schema = UpdateAddressSchema_1.UpdateAddressValidationSchema;
|
|
23
|
+
this.log = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Logger);
|
|
24
|
+
this.geocodeApi = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.GeocodeApi);
|
|
25
|
+
this.repository = new ParkingsLocationRepository_1.ParkingsLocationRepository();
|
|
26
|
+
}
|
|
27
|
+
execute(data) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
const address = yield this.geocodeApi.getAddressByLatLngFromPhoton(data.point.coordinates[1], data.point.coordinates[0]);
|
|
31
|
+
yield this.repository.update({ address }, { where: { id: data.id }, fields: ["address"] });
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
this.log.error(`Error while updating address: ${err}`);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.UpdateLocationAddressTask = UpdateLocationAddressTask;
|
|
40
|
+
//# sourceMappingURL=UpdateLocationAddressTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateLocationAddressTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/UpdateLocationAddressTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAAqE;AAErE,mEAAuG;AAGvG,wEAA6G;AAC7G,8FAAyF;AAEzF,MAAa,yBAA0B,SAAQ,iCAAiC;IAQ5E,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,uBAAuB,CAAC;QACpC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,mDAA6B,CAAC;QAOnD,IAAI,CAAC,GAAG,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,gCAA0B,CAAC,OAAO,CAAC,oBAAc,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,IAAI,uDAA0B,EAAE,CAAC;IACvD,CAAC;IACe,OAAO,CAAC,IAAyB;;YAC7C,IAAI;gBACA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5B,CAAC;gBACF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aAC9F;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;aAC1D;QACL,CAAC;KAAA;CACJ;AAzBD,8DAyBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TskAverageOccupancyRepository = void 0;
|
|
4
|
+
const _sch_1 = require("../../schema-definitions");
|
|
5
|
+
const models_1 = require("../../schema-definitions/models");
|
|
6
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
7
|
+
class TskAverageOccupancyRepository extends output_gateway_1.SequelizeModel {
|
|
8
|
+
constructor() {
|
|
9
|
+
super("TskAverageOccupancyRepository", models_1.TskAverageOccupancyModel.tableName, models_1.TskAverageOccupancyModel.attributeModel, {
|
|
10
|
+
schema: _sch_1.Parkings.pgSchema,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
GetAll() {
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
}
|
|
16
|
+
GetOne(_id) {
|
|
17
|
+
return Promise.resolve();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.TskAverageOccupancyRepository = TskAverageOccupancyRepository;
|
|
21
|
+
//# sourceMappingURL=TskAverageOccupancyRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TskAverageOccupancyRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/TskAverageOccupancyRepository.ts"],"names":[],"mappings":";;;AAAA,mDAAgC;AAChC,4DAAuD;AACvD,sEAAmE;AAEnE,MAAa,6BAA8B,SAAQ,+BAAc;IAC7D;QACI,KAAK,CAAC,+BAA+B,EAAE,iCAAwB,CAAC,SAAS,EAAE,iCAAwB,CAAC,cAAc,EAAE;YAChH,MAAM,EAAE,eAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAY;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAdD,sEAcC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TskDistrictsRepository = void 0;
|
|
4
|
+
const _sch_1 = require("../../schema-definitions");
|
|
5
|
+
const models_1 = require("../../schema-definitions/models");
|
|
6
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
7
|
+
class TskDistrictsRepository extends output_gateway_1.SequelizeModel {
|
|
8
|
+
constructor() {
|
|
9
|
+
super("TskDistrictsRepository", models_1.TskDistrictsModel.tableName, models_1.TskDistrictsModel.attributeModel, {
|
|
10
|
+
schema: _sch_1.Parkings.pgSchema,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
GetAll() {
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
}
|
|
16
|
+
GetOne(_id) {
|
|
17
|
+
return Promise.resolve();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.TskDistrictsRepository = TskDistrictsRepository;
|
|
21
|
+
//# sourceMappingURL=TskDistrictsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TskDistrictsRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/TskDistrictsRepository.ts"],"names":[],"mappings":";;;AAAA,mDAAgC;AAChC,4DAAgD;AAChD,sEAAmE;AAEnE,MAAa,sBAAuB,SAAQ,+BAAc;IACtD;QACI,KAAK,CAAC,wBAAwB,EAAE,0BAAiB,CAAC,SAAS,EAAE,0BAAiB,CAAC,cAAc,EAAE;YAC3F,MAAM,EAAE,eAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAY;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAdD,wDAcC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IGeoJsonAllFilterParameters, IGeoJSONFeatureCollection, IPropertyResponseModel, SequelizeModel } from "@golemio/core/dist/output-gateway";
|
|
2
|
+
import { IGeoJsonModel } from "@golemio/core/dist/output-gateway/models/interfaces/IGeoJsonModel";
|
|
3
|
+
import { ITskParkingLotFeature } from "./interfaces/ITskParkingLotFeature";
|
|
4
|
+
export declare class TskParkingLotsRepository extends SequelizeModel implements IGeoJsonModel {
|
|
5
|
+
private readonly measurementsRepository;
|
|
6
|
+
private readonly tskDistrictsRepository;
|
|
7
|
+
private readonly tskAverageRepository;
|
|
8
|
+
constructor();
|
|
9
|
+
GetAll: (options?: IGeoJsonAllFilterParameters) => Promise<IGeoJSONFeatureCollection>;
|
|
10
|
+
GetOne: (id: string) => Promise<ITskParkingLotFeature | undefined>;
|
|
11
|
+
IsPrimaryIdNumber(_idKey: string): Promise<boolean>;
|
|
12
|
+
PrimaryIdentifierSelection(id: string): object;
|
|
13
|
+
GetProperties: () => Promise<IPropertyResponseModel[]>;
|
|
14
|
+
private get attributeOptions();
|
|
15
|
+
private get includeOptions();
|
|
16
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TskParkingLotsRepository = void 0;
|
|
16
|
+
const _sch_1 = require("../../schema-definitions");
|
|
17
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
18
|
+
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
19
|
+
const ParkingsMeasurementsModels_1 = require("../models/ParkingsMeasurementsModels");
|
|
20
|
+
const TskFeatureMapper_1 = require("./helpers/TskFeatureMapper");
|
|
21
|
+
const TskAverageOccupancyRepository_1 = require("./TskAverageOccupancyRepository");
|
|
22
|
+
const TskDistrictsRepository_1 = require("./TskDistrictsRepository");
|
|
23
|
+
class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(_sch_1.Parkings.name, _sch_1.Parkings.parkings.pgTableName, _sch_1.Parkings.parkings.outputSequelizeAttributes, {
|
|
26
|
+
schema: _sch_1.Parkings.pgSchema,
|
|
27
|
+
});
|
|
28
|
+
this.GetAll = (options = {}) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
let whereAttributes = {
|
|
30
|
+
source: { [sequelize_1.default.Op.in]: ["tsk", "TSK"] },
|
|
31
|
+
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("location")), "ST_Point")],
|
|
32
|
+
};
|
|
33
|
+
let order = [];
|
|
34
|
+
if (options.updatedSince) {
|
|
35
|
+
whereAttributes.updated_at = {
|
|
36
|
+
[sequelize_1.default.Op.gt]: options === null || options === void 0 ? void 0 : options.updatedSince,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (options.lat && options.lng) {
|
|
40
|
+
if (options.range) {
|
|
41
|
+
whereAttributes.range = sequelize_1.default.where(sequelize_1.default.fn("ST_DWithin", sequelize_1.default.col("location"), 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");
|
|
42
|
+
}
|
|
43
|
+
order.push(sequelize_1.default.fn("ST_Distance", sequelize_1.default.col("location"), sequelize_1.default.cast(sequelize_1.default.fn("ST_SetSRID", sequelize_1.default.fn("ST_MakePoint", options.lng, options.lat), 4326), "geography")));
|
|
44
|
+
}
|
|
45
|
+
const result = yield this.sequelizeModel.findAll({
|
|
46
|
+
attributes: this.attributeOptions,
|
|
47
|
+
include: [
|
|
48
|
+
...this.includeOptions,
|
|
49
|
+
{
|
|
50
|
+
as: "tsk_districts",
|
|
51
|
+
model: this.tskDistrictsRepository.sequelizeModel,
|
|
52
|
+
attributes: [],
|
|
53
|
+
where: options.districts && options.districts.length > 0
|
|
54
|
+
? {
|
|
55
|
+
district: options.districts,
|
|
56
|
+
}
|
|
57
|
+
: undefined,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
where: whereAttributes,
|
|
61
|
+
limit: options === null || options === void 0 ? void 0 : options.limit,
|
|
62
|
+
offset: Number.isInteger(options === null || options === void 0 ? void 0 : options.offset) ? options === null || options === void 0 ? void 0 : options.offset : undefined,
|
|
63
|
+
order,
|
|
64
|
+
});
|
|
65
|
+
return (0, output_gateway_1.buildGeojsonFeatureCollection)(result.map((record) => {
|
|
66
|
+
return TskFeatureMapper_1.TskFeatureMapper.formatOutput(record);
|
|
67
|
+
}));
|
|
68
|
+
});
|
|
69
|
+
this.GetOne = (id) => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const result = yield this.sequelizeModel.findOne({
|
|
71
|
+
attributes: this.attributeOptions,
|
|
72
|
+
where: {
|
|
73
|
+
source_id: id,
|
|
74
|
+
source: {
|
|
75
|
+
[sequelize_1.default.Op.in]: ["tsk", "TSK"],
|
|
76
|
+
},
|
|
77
|
+
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("location")), "ST_Point")],
|
|
78
|
+
},
|
|
79
|
+
include: [
|
|
80
|
+
...this.includeOptions,
|
|
81
|
+
{
|
|
82
|
+
as: "tsk_districts",
|
|
83
|
+
model: this.tskDistrictsRepository.sequelizeModel,
|
|
84
|
+
attributes: [],
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
});
|
|
88
|
+
return result && TskFeatureMapper_1.TskFeatureMapper.formatOutput(result);
|
|
89
|
+
});
|
|
90
|
+
this.GetProperties = () => __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
return [];
|
|
92
|
+
});
|
|
93
|
+
this.measurementsRepository = new ParkingsMeasurementsModels_1.ParkingsMeasurementsModels(_sch_1.Parkings.measurementsActual);
|
|
94
|
+
this.tskDistrictsRepository = new TskDistrictsRepository_1.TskDistrictsRepository();
|
|
95
|
+
this.tskAverageRepository = new TskAverageOccupancyRepository_1.TskAverageOccupancyRepository();
|
|
96
|
+
this.sequelizeModel.hasOne(this.measurementsRepository.sequelizeModel, {
|
|
97
|
+
as: "measurements",
|
|
98
|
+
foreignKey: "source_id",
|
|
99
|
+
sourceKey: "source_id",
|
|
100
|
+
});
|
|
101
|
+
this.sequelizeModel.hasOne(this.tskDistrictsRepository.sequelizeModel, {
|
|
102
|
+
as: "tsk_districts",
|
|
103
|
+
foreignKey: "source_id",
|
|
104
|
+
sourceKey: "source_id",
|
|
105
|
+
});
|
|
106
|
+
this.sequelizeModel.hasOne(this.tskAverageRepository.sequelizeModel, {
|
|
107
|
+
as: "tsk_average_occupancy",
|
|
108
|
+
foreignKey: "source_id",
|
|
109
|
+
sourceKey: "source_id",
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
IsPrimaryIdNumber(_idKey) {
|
|
113
|
+
return Promise.resolve(false);
|
|
114
|
+
}
|
|
115
|
+
PrimaryIdentifierSelection(id) {
|
|
116
|
+
return { id };
|
|
117
|
+
}
|
|
118
|
+
get attributeOptions() {
|
|
119
|
+
return [
|
|
120
|
+
"location",
|
|
121
|
+
"parking_type",
|
|
122
|
+
[sequelize_1.default.col("parkings.source_id"), "id"],
|
|
123
|
+
"name",
|
|
124
|
+
[sequelize_1.default.col("measurements.available_spot_number"), "num_of_free_places"],
|
|
125
|
+
[sequelize_1.default.col("measurements.occupied_spot_number"), "num_of_taken_places"],
|
|
126
|
+
"updated_at",
|
|
127
|
+
[sequelize_1.default.col("parkings.total_spot_number"), "total_num_of_places"],
|
|
128
|
+
"address",
|
|
129
|
+
[sequelize_1.default.col("tsk_average_occupancy.average_occupancy"), "average_occupancy"],
|
|
130
|
+
[sequelize_1.default.col("tsk_districts.district"), "district"],
|
|
131
|
+
[sequelize_1.default.col("parkings.date_modified"), "last_updated"],
|
|
132
|
+
[sequelize_1.default.col("web_app_payment_url"), "payment_link"],
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
get includeOptions() {
|
|
136
|
+
return [
|
|
137
|
+
{
|
|
138
|
+
as: "measurements",
|
|
139
|
+
model: this.measurementsRepository.sequelizeModel,
|
|
140
|
+
attributes: [],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
as: "tsk_average_occupancy",
|
|
144
|
+
model: this.tskAverageRepository.sequelizeModel,
|
|
145
|
+
attributes: [],
|
|
146
|
+
required: true,
|
|
147
|
+
},
|
|
148
|
+
];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.TskParkingLotsRepository = TskParkingLotsRepository;
|
|
152
|
+
//# sourceMappingURL=TskParkingLotsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TskParkingLotsRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/TskParkingLotsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Model } from "@golemio/core/dist/shared/sequelize";
|
|
2
|
+
import { ITskParkingLotFeature } from "../interfaces/ITskParkingLotFeature";
|
|
3
|
+
export declare enum ParkingTypeEnum {
|
|
4
|
+
ParkAndRide = "park_and_ride",
|
|
5
|
+
ParkPaidPrivate = "park_paid_private"
|
|
6
|
+
}
|
|
7
|
+
export declare class TskFeatureMapper {
|
|
8
|
+
static formatOutput(record: Model): ITskParkingLotFeature | undefined;
|
|
9
|
+
private static createParkingTypeObject;
|
|
10
|
+
private static getPaymentAttributes;
|
|
11
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.TskFeatureMapper = exports.ParkingTypeEnum = void 0;
|
|
15
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
16
|
+
var ParkingTypeEnum;
|
|
17
|
+
(function (ParkingTypeEnum) {
|
|
18
|
+
ParkingTypeEnum["ParkAndRide"] = "park_and_ride";
|
|
19
|
+
ParkingTypeEnum["ParkPaidPrivate"] = "park_paid_private";
|
|
20
|
+
})(ParkingTypeEnum = exports.ParkingTypeEnum || (exports.ParkingTypeEnum = {}));
|
|
21
|
+
class TskFeatureMapper {
|
|
22
|
+
static formatOutput(record) {
|
|
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)("location", 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
|
+
}
|
|
26
|
+
static createParkingTypeObject(parkingType) {
|
|
27
|
+
return parkingType === ParkingTypeEnum.ParkAndRide
|
|
28
|
+
? { description: "P+R parkoviště", id: 1 }
|
|
29
|
+
: { description: "placené parkoviště", id: 2 };
|
|
30
|
+
}
|
|
31
|
+
static getPaymentAttributes(paymentLink) {
|
|
32
|
+
if (!paymentLink) {
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
payment_link: paymentLink,
|
|
37
|
+
payment_shortname: paymentLink.split("?shortname=").pop(),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.TskFeatureMapper = TskFeatureMapper;
|
|
42
|
+
//# sourceMappingURL=TskFeatureMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TskFeatureMapper.js","sourceRoot":"","sources":["../../../../src/output-gateway/data-access/helpers/TskFeatureMapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sEAA4E;AAI5E,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,gDAA6B,CAAA;IAC7B,wDAAqC,CAAA;AACzC,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B;AAED,MAAa,gBAAgB;IAClB,MAAM,CAAC,YAAY,CAAC,MAAa;QACpC,MAAM,KAA4D,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAvF,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,OAAyC,EAApC,IAAI,cAAvD,sDAAyD,CAA8B,CAAC;QAC9F,OAAO,IAAA,wCAAuB,EAAC,UAAU,gCACrC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,EACxD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAClD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IACvD,IAAI,GACJ,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EACnB,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,WAA4B;QAI/D,OAAO,WAAW,KAAK,eAAe,CAAC,WAAW;YAC9C,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE;YAC1C,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,WAA0B;QAI1D,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,EAAE,CAAC;SACb;QAED,OAAO;YACH,YAAY,EAAE,WAAW;YACzB,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE;SAC5D,CAAC;IACN,CAAC;CACJ;AAlCD,4CAkCC"}
|