@golemio/parkings 1.22.5 → 1.22.6-dev.2011581745
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 -1
- package/db/example/01_sql_dump.sql +2 -2
- package/db/example/04_tsk_parking_v2.sql +1 -2
- package/db/migrations/postgresql/20250804104739-legacy-api-allowed.js +53 -0
- package/db/migrations/postgresql/20250828092217-tsk-v2-router.js +53 -0
- package/db/migrations/postgresql/sqls/20250804104739-legacy-api-allowed-down.sql +44 -0
- package/db/migrations/postgresql/sqls/20250804104739-legacy-api-allowed-up.sql +6 -0
- package/db/migrations/postgresql/sqls/20250828092217-tsk-v2-router-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20250828092217-tsk-v2-router-up.sql +54 -0
- package/dist/helpers/constants/SourceEnum.d.ts +0 -1
- package/dist/helpers/constants/SourceEnum.js +0 -1
- package/dist/helpers/constants/SourceEnum.js.map +1 -1
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js +0 -1
- package/dist/integration-engine/businessRules/DataSourceIntegrationChecker.js.map +1 -1
- package/dist/integration-engine/helpers/GeodataHelper.d.ts +1 -3
- package/dist/integration-engine/helpers/GeodataHelper.js +1 -26
- package/dist/integration-engine/helpers/GeodataHelper.js.map +1 -1
- package/dist/integration-engine/index.d.ts +1 -1
- package/dist/integration-engine/ioc/Di.js +0 -6
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +0 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.js +0 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/workers/NewParkingsWorker.js +0 -2
- package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
- package/dist/output-gateway/index.js +0 -1
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +1 -1
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/models/ParkingsMeasurementsModels.d.ts +0 -5
- package/dist/output-gateway/models/ParkingsMeasurementsModels.js +1 -49
- package/dist/output-gateway/models/ParkingsMeasurementsModels.js.map +1 -1
- package/dist/output-gateway/models/ParkingsModel.d.ts +9 -8
- package/dist/output-gateway/models/ParkingsModel.js +24 -7
- package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
- package/dist/output-gateway/models/helpers/DetailAttributesHelper.js +11 -9
- package/dist/output-gateway/models/helpers/DetailAttributesHelper.js.map +1 -1
- package/dist/output-gateway/routers/constants.d.ts +0 -1
- package/dist/output-gateway/routers/constants.js +0 -1
- package/dist/output-gateway/routers/constants.js.map +1 -1
- package/dist/output-gateway/routers/index.d.ts +0 -1
- package/dist/output-gateway/routers/index.js +0 -1
- package/dist/output-gateway/routers/index.js.map +1 -1
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js +32 -11
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
- package/dist/output-gateway/transformations/ParkingsTransformationFabric.d.ts +8 -0
- package/dist/output-gateway/transformations/ParkingsTransformationFabric.js +36 -5
- package/dist/output-gateway/transformations/ParkingsTransformationFabric.js.map +1 -1
- package/dist/schema-definitions/index.d.ts +4 -0
- package/dist/schema-definitions/index.js +10 -0
- package/dist/schema-definitions/index.js.map +1 -1
- package/docs/implementation_documentation.md +0 -28
- package/docs/openapi-output.yaml +258 -611
- package/package.json +1 -1
- package/db/example/99_refresh_views.sql +0 -1
- package/dist/integration-engine/businessRules/AbstractTariffChecker.d.ts +0 -10
- package/dist/integration-engine/businessRules/AbstractTariffChecker.js +0 -26
- package/dist/integration-engine/businessRules/AbstractTariffChecker.js.map +0 -1
- package/dist/integration-engine/businessRules/TariffCheckerFactory.d.ts +0 -8
- package/dist/integration-engine/businessRules/TariffCheckerFactory.js +0 -22
- package/dist/integration-engine/businessRules/TariffCheckerFactory.js.map +0 -1
- package/dist/integration-engine/businessRules/TskTariffChecker.d.ts +0 -6
- package/dist/integration-engine/businessRules/TskTariffChecker.js +0 -13
- package/dist/integration-engine/businessRules/TskTariffChecker.js.map +0 -1
- package/dist/integration-engine/businessRules/interfaces/ITariffChecker.d.ts +0 -4
- package/dist/integration-engine/businessRules/interfaces/ITariffChecker.js +0 -3
- package/dist/integration-engine/businessRules/interfaces/ITariffChecker.js.map +0 -1
- package/dist/integration-engine/businessRules/interfaces/ITariffCheckerResult.d.ts +0 -6
- package/dist/integration-engine/businessRules/interfaces/ITariffCheckerResult.js +0 -3
- package/dist/integration-engine/businessRules/interfaces/ITariffCheckerResult.js.map +0 -1
- package/dist/integration-engine/businessRules/interfaces/ITariffInfo.d.ts +0 -7
- package/dist/integration-engine/businessRules/interfaces/ITariffInfo.js +0 -3
- package/dist/integration-engine/businessRules/interfaces/ITariffInfo.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/IRule.d.ts +0 -3
- package/dist/integration-engine/businessRules/rules/IRule.js +0 -3
- package/dist/integration-engine/businessRules/rules/IRule.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/MaxChargeInteractionsRule.d.ts +0 -5
- package/dist/integration-engine/businessRules/rules/MaxChargeInteractionsRule.js +0 -17
- package/dist/integration-engine/businessRules/rules/MaxChargeInteractionsRule.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/MaxPriceRule.d.ts +0 -5
- package/dist/integration-engine/businessRules/rules/MaxPriceRule.js +0 -15
- package/dist/integration-engine/businessRules/rules/MaxPriceRule.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/RuleEnum.d.ts +0 -5
- package/dist/integration-engine/businessRules/rules/RuleEnum.js +0 -10
- package/dist/integration-engine/businessRules/rules/RuleEnum.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/RuleFactory.d.ts +0 -7
- package/dist/integration-engine/businessRules/rules/RuleFactory.js +0 -23
- package/dist/integration-engine/businessRules/rules/RuleFactory.js.map +0 -1
- package/dist/integration-engine/businessRules/rules/ZeroMaxParkingTime.d.ts +0 -5
- package/dist/integration-engine/businessRules/rules/ZeroMaxParkingTime.js +0 -10
- package/dist/integration-engine/businessRules/rules/ZeroMaxParkingTime.js.map +0 -1
- package/dist/integration-engine/helpers/LocationBuilderHelper.d.ts +0 -6
- package/dist/integration-engine/helpers/LocationBuilderHelper.js +0 -60
- package/dist/integration-engine/helpers/LocationBuilderHelper.js.map +0 -1
- package/dist/integration-engine/helpers/TskCalculationHelper.d.ts +0 -6
- package/dist/integration-engine/helpers/TskCalculationHelper.js +0 -36
- package/dist/integration-engine/helpers/TskCalculationHelper.js.map +0 -1
- package/dist/integration-engine/repositories/ParkingsBusinessErrorsRepository.d.ts +0 -7
- package/dist/integration-engine/repositories/ParkingsBusinessErrorsRepository.js +0 -26
- package/dist/integration-engine/repositories/ParkingsBusinessErrorsRepository.js.map +0 -1
- package/dist/integration-engine/transformations/IPRParkingTransformation.d.ts +0 -21
- package/dist/integration-engine/transformations/IPRParkingTransformation.js +0 -44
- package/dist/integration-engine/transformations/IPRParkingTransformation.js.map +0 -1
- package/dist/integration-engine/transformations/TSKParkingTariffTransformation.d.ts +0 -20
- package/dist/integration-engine/transformations/TSKParkingTariffTransformation.js +0 -135
- package/dist/integration-engine/transformations/TSKParkingTariffTransformation.js.map +0 -1
- package/dist/integration-engine/transformations/TSKParkingTransformation.d.ts +0 -19
- package/dist/integration-engine/transformations/TSKParkingTransformation.js +0 -78
- package/dist/integration-engine/transformations/TSKParkingTransformation.js.map +0 -1
- package/dist/integration-engine/workers/tasks/SaveParkingZonesPrague.d.ts +0 -39
- package/dist/integration-engine/workers/tasks/SaveParkingZonesPrague.js +0 -182
- package/dist/integration-engine/workers/tasks/SaveParkingZonesPrague.js.map +0 -1
- package/dist/output-gateway/data-access/TskDistrictsRepository.d.ts +0 -6
- package/dist/output-gateway/data-access/TskDistrictsRepository.js +0 -21
- package/dist/output-gateway/data-access/TskDistrictsRepository.js.map +0 -1
- package/dist/output-gateway/data-access/TskParkingLotsRepository.d.ts +0 -17
- package/dist/output-gateway/data-access/TskParkingLotsRepository.js +0 -159
- package/dist/output-gateway/data-access/TskParkingLotsRepository.js.map +0 -1
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.d.ts +0 -11
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js +0 -37
- package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js.map +0 -1
- package/dist/output-gateway/routers/v1/V1ParkingRouter.d.ts +0 -3
- package/dist/output-gateway/routers/v1/V1ParkingRouter.js +0 -46
- package/dist/output-gateway/routers/v1/V1ParkingRouter.js.map +0 -1
- package/dist/schema-definitions/datasources/interfaces/IIPRParkingJsonSchema.d.ts +0 -15
- package/dist/schema-definitions/datasources/interfaces/IIPRParkingJsonSchema.js +0 -3
- package/dist/schema-definitions/datasources/interfaces/IIPRParkingJsonSchema.js.map +0 -1
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TskParkingLotsRepository = void 0;
|
|
7
|
-
const ParkingPaymentsRepository_1 = require("./ParkingPaymentsRepository");
|
|
8
|
-
const _sch_1 = require("../../schema-definitions");
|
|
9
|
-
const ParkingMeasurementsDtoSchema_1 = require("../../schema-definitions/datasources/ParkingMeasurementsDtoSchema");
|
|
10
|
-
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
11
|
-
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
12
|
-
const ParkingsMeasurementsModels_1 = require("../models/ParkingsMeasurementsModels");
|
|
13
|
-
const TskFeatureMapper_1 = require("./helpers/TskFeatureMapper");
|
|
14
|
-
const TskAverageOccupancyRepository_1 = require("./TskAverageOccupancyRepository");
|
|
15
|
-
const TskDistrictsRepository_1 = require("./TskDistrictsRepository");
|
|
16
|
-
class TskParkingLotsRepository extends output_gateway_1.SequelizeModel {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(_sch_1.Parkings.name, _sch_1.Parkings.parkings.pgTableName, _sch_1.Parkings.parkings.outputSequelizeAttributes, {
|
|
19
|
-
schema: _sch_1.Parkings.pgSchema,
|
|
20
|
-
});
|
|
21
|
-
this.GetAll = async (options = {}) => {
|
|
22
|
-
let whereAttributes = {
|
|
23
|
-
source: { [sequelize_1.default.Op.in]: ["tsk", "TSK"] },
|
|
24
|
-
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("centroid")), "ST_Point")],
|
|
25
|
-
};
|
|
26
|
-
let order = [];
|
|
27
|
-
if (options.updatedSince) {
|
|
28
|
-
whereAttributes.updated_at = {
|
|
29
|
-
[sequelize_1.default.Op.gt]: options?.updatedSince,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
if (options.lat && options.lng) {
|
|
33
|
-
if (options.range) {
|
|
34
|
-
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");
|
|
35
|
-
}
|
|
36
|
-
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")));
|
|
37
|
-
}
|
|
38
|
-
const result = await this.sequelizeModel.findAll({
|
|
39
|
-
attributes: this.attributeOptions,
|
|
40
|
-
include: [
|
|
41
|
-
...this.includeOptions,
|
|
42
|
-
{
|
|
43
|
-
as: "tsk_districts",
|
|
44
|
-
model: this.tskDistrictsRepository.sequelizeModel,
|
|
45
|
-
attributes: [],
|
|
46
|
-
where: options.districts && options.districts.length > 0
|
|
47
|
-
? {
|
|
48
|
-
district: options.districts,
|
|
49
|
-
}
|
|
50
|
-
: undefined,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
model: this.paymentsRepository.sequelizeModel,
|
|
54
|
-
as: "parking_payments",
|
|
55
|
-
required: false,
|
|
56
|
-
subQuery: false,
|
|
57
|
-
},
|
|
58
|
-
],
|
|
59
|
-
where: whereAttributes,
|
|
60
|
-
limit: options?.limit,
|
|
61
|
-
offset: Number.isInteger(options?.offset) ? options?.offset : undefined,
|
|
62
|
-
order,
|
|
63
|
-
});
|
|
64
|
-
return (0, output_gateway_1.buildGeojsonFeatureCollection)(result.map((record) => {
|
|
65
|
-
return TskFeatureMapper_1.TskFeatureMapper.formatOutput(record);
|
|
66
|
-
}));
|
|
67
|
-
};
|
|
68
|
-
this.GetOne = async (id) => {
|
|
69
|
-
const result = await this.sequelizeModel.findOne({
|
|
70
|
-
attributes: this.attributeOptions,
|
|
71
|
-
where: {
|
|
72
|
-
source_id: id,
|
|
73
|
-
source: {
|
|
74
|
-
[sequelize_1.default.Op.in]: ["tsk", "TSK"],
|
|
75
|
-
},
|
|
76
|
-
[sequelize_1.default.Op.and]: [sequelize_1.default.where(sequelize_1.default.fn("ST_GeometryType", sequelize_1.default.col("centroid")), "ST_Point")],
|
|
77
|
-
},
|
|
78
|
-
include: [
|
|
79
|
-
...this.includeOptions,
|
|
80
|
-
{
|
|
81
|
-
as: "tsk_districts",
|
|
82
|
-
model: this.tskDistrictsRepository.sequelizeModel,
|
|
83
|
-
attributes: [],
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
});
|
|
87
|
-
return result && TskFeatureMapper_1.TskFeatureMapper.formatOutput(result);
|
|
88
|
-
};
|
|
89
|
-
this.GetProperties = async () => {
|
|
90
|
-
return [];
|
|
91
|
-
};
|
|
92
|
-
this.measurementsRepository = new ParkingsMeasurementsModels_1.ParkingsMeasurementsModels({
|
|
93
|
-
..._sch_1.Parkings.measurementsActual,
|
|
94
|
-
outputJsonSchema: ParkingMeasurementsDtoSchema_1.ParkingMeasurementsDtoSchema,
|
|
95
|
-
});
|
|
96
|
-
this.tskDistrictsRepository = new TskDistrictsRepository_1.TskDistrictsRepository();
|
|
97
|
-
this.tskAverageRepository = new TskAverageOccupancyRepository_1.TskAverageOccupancyRepository();
|
|
98
|
-
this.paymentsRepository = new ParkingPaymentsRepository_1.ParkingPaymentsRepository();
|
|
99
|
-
this.sequelizeModel.hasOne(this.measurementsRepository.sequelizeModel, {
|
|
100
|
-
as: "measurements",
|
|
101
|
-
foreignKey: "source_id",
|
|
102
|
-
sourceKey: "source_id",
|
|
103
|
-
});
|
|
104
|
-
this.sequelizeModel.hasOne(this.tskDistrictsRepository.sequelizeModel, {
|
|
105
|
-
as: "tsk_districts",
|
|
106
|
-
foreignKey: "source_id",
|
|
107
|
-
sourceKey: "source_id",
|
|
108
|
-
});
|
|
109
|
-
this.sequelizeModel.hasOne(this.tskAverageRepository.sequelizeModel, {
|
|
110
|
-
as: "tsk_average_occupancy",
|
|
111
|
-
foreignKey: "source_id",
|
|
112
|
-
sourceKey: "source_id",
|
|
113
|
-
});
|
|
114
|
-
this.sequelizeModel.hasOne(this.paymentsRepository.sequelizeModel, {
|
|
115
|
-
as: "parking_payments",
|
|
116
|
-
foreignKey: "parking_id",
|
|
117
|
-
sourceKey: "id",
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
IsPrimaryIdNumber(_idKey) {
|
|
121
|
-
return Promise.resolve(false);
|
|
122
|
-
}
|
|
123
|
-
PrimaryIdentifierSelection(id) {
|
|
124
|
-
return { id };
|
|
125
|
-
}
|
|
126
|
-
get attributeOptions() {
|
|
127
|
-
return [
|
|
128
|
-
"centroid",
|
|
129
|
-
"parking_type",
|
|
130
|
-
[sequelize_1.default.col("parkings.source_id"), "id"],
|
|
131
|
-
"name",
|
|
132
|
-
[sequelize_1.default.col("measurements.available_spot_number"), "num_of_free_places"],
|
|
133
|
-
[sequelize_1.default.col("measurements.occupied_spot_number"), "num_of_taken_places"],
|
|
134
|
-
[sequelize_1.default.col("measurements.updated_at"), "updated_at"],
|
|
135
|
-
[sequelize_1.default.col("parkings.total_spot_number"), "total_num_of_places"],
|
|
136
|
-
"address",
|
|
137
|
-
[sequelize_1.default.col("tsk_average_occupancy.average_occupancy"), "average_occupancy"],
|
|
138
|
-
[sequelize_1.default.col("tsk_districts.district"), "district"],
|
|
139
|
-
[sequelize_1.default.col("measurements.date_modified"), "last_updated"],
|
|
140
|
-
];
|
|
141
|
-
}
|
|
142
|
-
get includeOptions() {
|
|
143
|
-
return [
|
|
144
|
-
{
|
|
145
|
-
as: "measurements",
|
|
146
|
-
model: this.measurementsRepository.sequelizeModel,
|
|
147
|
-
attributes: [],
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
as: "tsk_average_occupancy",
|
|
151
|
-
model: this.tskAverageRepository.sequelizeModel,
|
|
152
|
-
attributes: [],
|
|
153
|
-
required: true,
|
|
154
|
-
},
|
|
155
|
-
];
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
exports.TskParkingLotsRepository = TskParkingLotsRepository;
|
|
159
|
-
//# sourceMappingURL=TskParkingLotsRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TskParkingLotsRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/data-access/TskParkingLotsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TskFeatureMapper = exports.ParkingTypeEnum = void 0;
|
|
4
|
-
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
5
|
-
var ParkingTypeEnum;
|
|
6
|
-
(function (ParkingTypeEnum) {
|
|
7
|
-
ParkingTypeEnum["ParkAndRide"] = "park_and_ride";
|
|
8
|
-
ParkingTypeEnum["ParkPaidPrivate"] = "park_paid_private";
|
|
9
|
-
})(ParkingTypeEnum || (exports.ParkingTypeEnum = ParkingTypeEnum = {}));
|
|
10
|
-
class TskFeatureMapper {
|
|
11
|
-
static formatOutput(record) {
|
|
12
|
-
const { parking_type, id, last_updated, payment_link, ...rest } = record.get({ plain: true });
|
|
13
|
-
return (0, output_gateway_1.buildGeojsonFeatureType)("centroid", {
|
|
14
|
-
parking_type: this.createParkingTypeObject(parking_type),
|
|
15
|
-
id: Number.isNaN(parseInt(id)) ? id : parseInt(id),
|
|
16
|
-
last_updated: last_updated ? new Date(last_updated).getTime() : null,
|
|
17
|
-
...rest,
|
|
18
|
-
...this.getPaymentAttributes(payment_link),
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
static createParkingTypeObject(parkingType) {
|
|
22
|
-
return parkingType === ParkingTypeEnum.ParkAndRide
|
|
23
|
-
? { description: "P+R parkoviště", id: 1 }
|
|
24
|
-
: { description: "placené parkoviště", id: 2 };
|
|
25
|
-
}
|
|
26
|
-
static getPaymentAttributes(paymentLink) {
|
|
27
|
-
if (!paymentLink) {
|
|
28
|
-
return {};
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
payment_link: paymentLink,
|
|
32
|
-
payment_shortname: paymentLink.split("?shortname=").pop(),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.TskFeatureMapper = TskFeatureMapper;
|
|
37
|
-
//# sourceMappingURL=TskFeatureMapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,+BAAf,eAAe,QAG1B;AAED,MAAa,gBAAgB;IAClB,MAAM,CAAC,YAAY,CAAC,MAAa;QACpC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,IAAA,wCAAuB,EAAC,UAAU,EAAE;YACvC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;YACxD,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;YACpE,GAAG,IAAI;YACP,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;SAC7C,CAA0B,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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.v1ParkingRouter = void 0;
|
|
4
|
-
const TskParkingLotsRepository_1 = require("../../data-access/TskParkingLotsRepository");
|
|
5
|
-
const models_1 = require("../../models");
|
|
6
|
-
const constants_1 = require("../constants");
|
|
7
|
-
const AbstractGeoJsonRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractGeoJsonRouter");
|
|
8
|
-
const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
|
|
9
|
-
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
10
|
-
const CACHE_MAX_AGE = 5 * 60;
|
|
11
|
-
const CACHE_STALE_WHILE_REVALIDATE = 5;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Legacy router, use Parking Spaces /parking endpoints instead
|
|
14
|
-
*/
|
|
15
|
-
class V1ParkingRouter extends AbstractGeoJsonRouter_1.AbstractGeoJsonRouter {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(constants_1.RouteVersion.v1, "parkings", new TskParkingLotsRepository_1.TskParkingLotsRepository());
|
|
18
|
-
this.GetAllTskMeasurements = async (req, res, next) => {
|
|
19
|
-
const timestampFrom = req.query.from ? new Date(req.query.from).toISOString() : undefined;
|
|
20
|
-
const timestampTo = req.query.to ? new Date(req.query.to).toISOString() : undefined;
|
|
21
|
-
try {
|
|
22
|
-
const data = await this.measurementsHistoryRepository.GetAllTskMeasurements({
|
|
23
|
-
limit: req.query.limit ? parseInt(req.query.limit) : undefined,
|
|
24
|
-
offset: req.query.offset ? parseInt(req.query.offset) : undefined,
|
|
25
|
-
from: timestampFrom,
|
|
26
|
-
to: timestampTo,
|
|
27
|
-
sensorId: req.query.sensorId,
|
|
28
|
-
});
|
|
29
|
-
res.status(200).send(data);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
next(err);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
this.measurementsHistoryRepository = models_1.models.ParkingsMeasurementsModel;
|
|
36
|
-
this.initRoutes({ maxAge: CACHE_MAX_AGE, staleWhileRevalidate: CACHE_STALE_WHILE_REVALIDATE });
|
|
37
|
-
this.router.get("/history", [
|
|
38
|
-
(0, express_validator_1.query)("from").optional().isISO8601().not().isArray(),
|
|
39
|
-
(0, express_validator_1.query)("to").optional().isISO8601().not().isArray(),
|
|
40
|
-
(0, express_validator_1.query)("sensorId").optional().not().isEmpty({ ignore_whitespace: true }).not().isArray(),
|
|
41
|
-
], Validation_1.pagination, (0, Validation_1.paginationLimitMiddleware)("TskParkingLotsLegacyRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(CACHE_MAX_AGE, CACHE_STALE_WHILE_REVALIDATE), this.GetAllTskMeasurements);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const v1ParkingRouter = new V1ParkingRouter();
|
|
45
|
-
exports.v1ParkingRouter = v1ParkingRouter;
|
|
46
|
-
//# sourceMappingURL=V1ParkingRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1ParkingRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v1/V1ParkingRouter.ts"],"names":[],"mappings":";;;AAAA,yFAAoF;AACpF,yCAAoC;AAEpC,4CAAqD;AACrD,oGAAiG;AAEjG,6EAAkH;AAElH,mFAAoE;AAEpE,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,CAAC;AAC7B,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,eAAgB,SAAQ,6CAAqB;IAG/C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,mDAAwB,EAAE,CAAC,CAAC;QAkBhE,0BAAqB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9F,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,CAAC;oBACxE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC3E,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,WAAW;oBACf,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAkB;iBACzC,CAAC,CAAC;gBAEH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAlCE,IAAI,CAAC,6BAA6B,GAAG,eAAM,CAAC,yBAAyB,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,UAAU,EACV;YACI,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACpD,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAClD,IAAA,yBAAK,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAC1F,EACD,uBAAU,EACV,IAAA,sCAAyB,EAAC,4BAA4B,CAAC,EACvD,wBAAW,EACX,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,aAAa,EAAE,4BAA4B,CAAC,EACrF,IAAI,CAAC,qBAAqB,CAC7B,CAAC;IACN,CAAC;CAoBJ;AAED,MAAM,eAAe,GAAmB,IAAI,eAAe,EAAE,CAAC;AAErD,0CAAe"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { IGeoCoordinatesMultiPolygon, IGeoCoordinatesPolygon } from "@golemio/core/dist/output-gateway/Geo";
|
|
2
|
-
export interface IIPRParkingJsonFeature {
|
|
3
|
-
type: string;
|
|
4
|
-
id: number;
|
|
5
|
-
geometry: IGeoCoordinatesPolygon | IGeoCoordinatesMultiPolygon;
|
|
6
|
-
properties: {
|
|
7
|
-
OBJECTID: number;
|
|
8
|
-
PS_ZPS: string;
|
|
9
|
-
TARIFTAB: string;
|
|
10
|
-
TYPZONY: string;
|
|
11
|
-
ZPS_ID: string;
|
|
12
|
-
SHAPE__Area: number;
|
|
13
|
-
SHAPE__Length: number;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IIPRParkingJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IIPRParkingJsonSchema.ts"],"names":[],"mappings":""}
|