@golemio/parkings 1.22.5 → 1.22.6-dev.2011057324
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 +7 -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,135 +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.TSKParkingTariffTransformation = void 0;
|
|
7
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
8
|
-
const _sch_1 = require("../../schema-definitions");
|
|
9
|
-
const uuid_by_string_1 = __importDefault(require("uuid-by-string"));
|
|
10
|
-
const TskCalculationHelper_1 = require("../helpers/TskCalculationHelper");
|
|
11
|
-
const DayMap = {
|
|
12
|
-
"1": "Mo",
|
|
13
|
-
"2": "Tu",
|
|
14
|
-
"3": "We",
|
|
15
|
-
"4": "Th",
|
|
16
|
-
"5": "Fr",
|
|
17
|
-
"6": "Sa",
|
|
18
|
-
"7": "Su", // 0 in input data
|
|
19
|
-
};
|
|
20
|
-
class TSKParkingTariffTransformation extends integration_engine_1.BaseTransformation {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.transform = async (data) => {
|
|
24
|
-
const { tsk, lastUpdated } = data;
|
|
25
|
-
const tariffMap = tsk.reduce((acc, item) => ({ ...acc, [item["CTARIF"]]: [...(acc[item["CTARIF"]] || []), item] }), {});
|
|
26
|
-
const dayAggregation = [];
|
|
27
|
-
for (const key in tariffMap) {
|
|
28
|
-
dayAggregation.push(this.aggregateByDay(tariffMap[key]));
|
|
29
|
-
}
|
|
30
|
-
const flattenHoliday = [];
|
|
31
|
-
for (const key in dayAggregation) {
|
|
32
|
-
flattenHoliday.push(this.flattenPayAtHoliday(dayAggregation[key]));
|
|
33
|
-
}
|
|
34
|
-
const result = [];
|
|
35
|
-
for (const key in flattenHoliday) {
|
|
36
|
-
result.push(...this.transformElement({ data: flattenHoliday[key], lastUpdated }));
|
|
37
|
-
}
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
this.hasEqualDescription = (itemA, itemB) => itemA.TimeFrom === itemB.TimeFrom &&
|
|
41
|
-
itemA.TimeTo === itemB.TimeTo &&
|
|
42
|
-
itemA.PricePerHour == itemB.PricePerHour &&
|
|
43
|
-
itemA.MaxParkingTime === itemB.MaxParkingTime &&
|
|
44
|
-
itemA.MaxPrice === itemB.MaxPrice &&
|
|
45
|
-
itemA.MinPrice === itemB.MinPrice;
|
|
46
|
-
this.aggregateByDay = (tariffMapItem) => {
|
|
47
|
-
return tariffMapItem.reduce((acc, current) => {
|
|
48
|
-
const ind = acc.findIndex((item) => {
|
|
49
|
-
return item.PayAtHoliday === current.PayAtHoliday && this.hasEqualDescription(item, current);
|
|
50
|
-
});
|
|
51
|
-
const { Day, ...rest } = current;
|
|
52
|
-
if (ind === -1) {
|
|
53
|
-
acc.push({ ...rest, Day: [Day === "0" ? "7" : Day] });
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
acc[ind].Day.push(Day === "0" ? "7" : Day);
|
|
57
|
-
}
|
|
58
|
-
return acc;
|
|
59
|
-
}, []);
|
|
60
|
-
};
|
|
61
|
-
this.flattenPayAtHoliday = (tariffMapItem) => {
|
|
62
|
-
return tariffMapItem.reduce((acc, current) => {
|
|
63
|
-
const ind = acc.findIndex((item) => {
|
|
64
|
-
return (this.hasEqualDescription(item, current) &&
|
|
65
|
-
JSON.stringify(item.Day.sort()) === JSON.stringify(current.Day.sort()));
|
|
66
|
-
});
|
|
67
|
-
const { PayAtHoliday, Day, ...rest } = current;
|
|
68
|
-
if (ind === -1) {
|
|
69
|
-
acc.push({ ...rest, Day: Day.sort(), PayAtHoliday: [PayAtHoliday] });
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
acc[ind].PayAtHoliday.push(PayAtHoliday);
|
|
73
|
-
}
|
|
74
|
-
return acc;
|
|
75
|
-
}, []);
|
|
76
|
-
};
|
|
77
|
-
this.dayFormatter = (data) => {
|
|
78
|
-
let seqLength = 0;
|
|
79
|
-
let dateString = `${DayMap[data[0]]}`;
|
|
80
|
-
for (let i = 1; i < data.length; i++) {
|
|
81
|
-
if (+data[i - 1] + 1 === +data[i] && data[i + 1]) {
|
|
82
|
-
seqLength++;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
seqLength ? (dateString += `-${DayMap[data[i]]}`) : (dateString += `,${DayMap[data[i]]}`);
|
|
86
|
-
}
|
|
87
|
-
return dateString;
|
|
88
|
-
};
|
|
89
|
-
this.openingHoursFormatter = (day, time, payAtHoliday) => {
|
|
90
|
-
const payAtHolidayText = payAtHoliday.length === 1 ? (payAtHoliday[0] === "YES" ? "; PH only" : "; PH off") : "";
|
|
91
|
-
return `${day} ${time}` + `${payAtHolidayText}`;
|
|
92
|
-
};
|
|
93
|
-
this.transformElement = (element) => {
|
|
94
|
-
const { lastUpdated, data } = element;
|
|
95
|
-
const result = [];
|
|
96
|
-
for (const item of data) {
|
|
97
|
-
const dayString = this.dayFormatter(item.Day);
|
|
98
|
-
const desc = {
|
|
99
|
-
tariff_id: (0, uuid_by_string_1.default)(`${this.dataSource}`.toUpperCase() + item.CTARIF),
|
|
100
|
-
last_updated: lastUpdated.toISOString(),
|
|
101
|
-
source: this.dataSource,
|
|
102
|
-
payment_mode: "",
|
|
103
|
-
payment_additional_description: "Parkování Praha",
|
|
104
|
-
free_of_charge: item.PricePerHour == 0,
|
|
105
|
-
charge_band_name: item.CTARIF,
|
|
106
|
-
charge_currency: "CZK",
|
|
107
|
-
start_time_of_period: this.openingHoursFormatter(dayString, item.TimeFrom, item.PayAtHoliday),
|
|
108
|
-
end_time_of_period: this.openingHoursFormatter(dayString, item.TimeTo, item.PayAtHoliday),
|
|
109
|
-
};
|
|
110
|
-
result.push({
|
|
111
|
-
...desc,
|
|
112
|
-
charge_interval: TskCalculationHelper_1.TskCalculationHelper.getChargeInterval(+item.MinPrice, +item.PricePerHour),
|
|
113
|
-
max_iterations_of_charge: TskCalculationHelper_1.TskCalculationHelper.getMaxChargeIterations(+item.MaxParkingTime, +item.MinPrice, +item.PricePerHour),
|
|
114
|
-
charge: TskCalculationHelper_1.TskCalculationHelper.getCharge(+item.MinPrice, +item.PricePerHour),
|
|
115
|
-
charge_order_index: result.length,
|
|
116
|
-
accepts_litacka: true,
|
|
117
|
-
});
|
|
118
|
-
if (+item.PricePerHour !== 0 && item.MaxPrice !== "0") {
|
|
119
|
-
result.push({
|
|
120
|
-
...desc,
|
|
121
|
-
charge: +item.MaxPrice,
|
|
122
|
-
charge_order_index: result.length,
|
|
123
|
-
charge_type: "maximum",
|
|
124
|
-
accepts_litacka: true,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return result;
|
|
129
|
-
};
|
|
130
|
-
this.name = _sch_1.Parkings.tsk.name + "Data";
|
|
131
|
-
this.dataSource = "tsk";
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
exports.TSKParkingTariffTransformation = TSKParkingTariffTransformation;
|
|
135
|
-
//# sourceMappingURL=TSKParkingTariffTransformation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TSKParkingTariffTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TSKParkingTariffTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { IParking } from "../ParkingInterface";
|
|
2
|
-
import { IParkingTariffRelation } from "../../schema-definitions/models/interfaces/IParkingTariffRelation";
|
|
3
|
-
import { IPayment } from "../../schema-definitions/models/interfaces/IPayment";
|
|
4
|
-
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine";
|
|
5
|
-
export declare class TSKParkingTransformation extends BaseTransformation implements ITransformation {
|
|
6
|
-
name: string;
|
|
7
|
-
private readonly dataSource;
|
|
8
|
-
transformationDate: string;
|
|
9
|
-
constructor(transformationDate: string);
|
|
10
|
-
transform: (data: Array<Record<string, any>>) => Promise<{
|
|
11
|
-
parking: IParking[];
|
|
12
|
-
payment: IPayment[];
|
|
13
|
-
}>;
|
|
14
|
-
protected transformElement: (element: any) => {
|
|
15
|
-
parking: IParking;
|
|
16
|
-
payment: IPayment;
|
|
17
|
-
};
|
|
18
|
-
transformParkingTariffsRelation: (parkings: any) => IParkingTariffRelation[];
|
|
19
|
-
}
|
|
@@ -1,78 +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.TSKParkingTransformation = void 0;
|
|
7
|
-
const SourceEnum_1 = require("../../helpers/constants/SourceEnum");
|
|
8
|
-
const _sch_1 = require("../../schema-definitions");
|
|
9
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
10
|
-
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
11
|
-
const uuid_by_string_1 = __importDefault(require("uuid-by-string"));
|
|
12
|
-
const ZoneType = {
|
|
13
|
-
RES: "zone_residential",
|
|
14
|
-
MIX: "zone_mixed",
|
|
15
|
-
VIS: "zone_visitors",
|
|
16
|
-
OST: "zone_other",
|
|
17
|
-
// FREE: "zone_free", // (placeholder pro Zóny neplaceného stání, které se budou integrovat v budoucnu)
|
|
18
|
-
};
|
|
19
|
-
class TSKParkingTransformation extends integration_engine_1.BaseTransformation {
|
|
20
|
-
constructor(transformationDate) {
|
|
21
|
-
super();
|
|
22
|
-
this.transform = async (data) => {
|
|
23
|
-
const result = {
|
|
24
|
-
parking: [],
|
|
25
|
-
payment: [],
|
|
26
|
-
};
|
|
27
|
-
for (const element of data) {
|
|
28
|
-
const { parking, payment } = this.transformElement(element);
|
|
29
|
-
result.parking.push(parking);
|
|
30
|
-
result.payment.push(payment);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
this.transformElement = (element) => {
|
|
35
|
-
const id = `${this.dataSource}-${element.properties.tarifTab}`.toLowerCase();
|
|
36
|
-
return {
|
|
37
|
-
parking: {
|
|
38
|
-
id,
|
|
39
|
-
source: this.dataSource,
|
|
40
|
-
source_id: "" + element.properties.tarifTab,
|
|
41
|
-
data_provider: "www.tsk-praha.cz",
|
|
42
|
-
location: element.geometry,
|
|
43
|
-
total_spot_number: element.properties.ps_zps_celkem,
|
|
44
|
-
name: element.properties.ulice,
|
|
45
|
-
category: ZoneType[element.properties.typZony],
|
|
46
|
-
valid_from: element.properties.platnostOd,
|
|
47
|
-
valid_to: element.properties.platnostDo,
|
|
48
|
-
parking_type: "on_street",
|
|
49
|
-
zone_type: ZoneType[element.properties.typZony],
|
|
50
|
-
date_modified: this.transformationDate,
|
|
51
|
-
active: true,
|
|
52
|
-
},
|
|
53
|
-
payment: {
|
|
54
|
-
parking_id: id,
|
|
55
|
-
source: this.dataSource,
|
|
56
|
-
payment_web_url: config_1.config.PARKING_ZONES_PAYMENT_URL + "?shortname=" + element.properties.tarifTab,
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
this.transformParkingTariffsRelation = (parkings) => {
|
|
61
|
-
const parkingTariffsIdPairs = [];
|
|
62
|
-
for (const parking of parkings) {
|
|
63
|
-
const id = `${this.dataSource}-${parking.properties.tarifTab}`.toLowerCase();
|
|
64
|
-
parkingTariffsIdPairs.push({
|
|
65
|
-
parking_id: id,
|
|
66
|
-
tariff_id: (0, uuid_by_string_1.default)(`${this.dataSource}`.toUpperCase() + parking.properties.CTARIF),
|
|
67
|
-
source: this.dataSource,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return parkingTariffsIdPairs;
|
|
71
|
-
};
|
|
72
|
-
this.name = _sch_1.Parkings.tsk.name + "Data";
|
|
73
|
-
this.dataSource = SourceEnum_1.SourceEnum.TSK;
|
|
74
|
-
this.transformationDate = transformationDate;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.TSKParkingTransformation = TSKParkingTransformation;
|
|
78
|
-
//# sourceMappingURL=TSKParkingTransformation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TSKParkingTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TSKParkingTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
2
|
-
export declare class SaveParkingZonesPrague extends AbstractEmptyTask {
|
|
3
|
-
queueName: string;
|
|
4
|
-
private parkingsLocationModel;
|
|
5
|
-
private dataSourceIPR;
|
|
6
|
-
private dataSourceTSK;
|
|
7
|
-
private dataSourceTariffTSK;
|
|
8
|
-
private iprTransformation;
|
|
9
|
-
private tskTariffTransformation;
|
|
10
|
-
private readonly ftpTSKSettings;
|
|
11
|
-
private parkingsModel;
|
|
12
|
-
private parkingsTariffsModel;
|
|
13
|
-
private parkingTariffRelationsRepository;
|
|
14
|
-
private parkingPaymentRepository;
|
|
15
|
-
private parkingsBusinessErrorsRepository;
|
|
16
|
-
private config;
|
|
17
|
-
private tskParkingFilter;
|
|
18
|
-
constructor(queuePrefix: string);
|
|
19
|
-
/**
|
|
20
|
-
* Parking zones Prague queue worker method
|
|
21
|
-
* - store all data for parking zones in Prague.
|
|
22
|
-
*/
|
|
23
|
-
protected execute: () => Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Parking zones Prague
|
|
26
|
-
* - store location data for parking zones in Prague.
|
|
27
|
-
* - merged TSK and IPR data sources
|
|
28
|
-
*/
|
|
29
|
-
private saveParkingZonesLocationsPrague;
|
|
30
|
-
private transformTskData;
|
|
31
|
-
private transformTskRelationsData;
|
|
32
|
-
/**
|
|
33
|
-
* Parking zones Prague
|
|
34
|
-
* - store tariff data for parking zones in Prague.
|
|
35
|
-
*/
|
|
36
|
-
private saveParkingZonesTariffsPrague;
|
|
37
|
-
private checkBusinessRules;
|
|
38
|
-
private saveBusinessErrors;
|
|
39
|
-
}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.SaveParkingZonesPrague = void 0;
|
|
30
|
-
const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
|
|
31
|
-
const TariffCheckerFactory_1 = __importStar(require("../../businessRules/TariffCheckerFactory"));
|
|
32
|
-
const LocationBuilderHelper_1 = require("../../helpers/LocationBuilderHelper");
|
|
33
|
-
const Di_1 = require("../../ioc/Di");
|
|
34
|
-
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
35
|
-
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
36
|
-
const IPRParkingTransformation_1 = require("../../transformations/IPRParkingTransformation");
|
|
37
|
-
const TSKParkingTariffTransformation_1 = require("../../transformations/TSKParkingTariffTransformation");
|
|
38
|
-
const TSKParkingTransformation_1 = require("../../transformations/TSKParkingTransformation");
|
|
39
|
-
const UpdateAddressWorker_1 = require("../UpdateAddressWorker");
|
|
40
|
-
const index_1 = require("../../../schema-definitions/index");
|
|
41
|
-
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
42
|
-
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
43
|
-
const ContainerToken_1 = require("@golemio/core/dist/integration-engine/ioc/ContainerToken");
|
|
44
|
-
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
45
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
46
|
-
const uuid_by_string_1 = __importDefault(require("uuid-by-string"));
|
|
47
|
-
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
48
|
-
const TskParkingFilter_1 = require("../../transformations/TskParkingFilter");
|
|
49
|
-
class SaveParkingZonesPrague extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
50
|
-
constructor(queuePrefix) {
|
|
51
|
-
super(queuePrefix);
|
|
52
|
-
this.queueName = "saveParkingZonesPrague";
|
|
53
|
-
/**
|
|
54
|
-
* Parking zones Prague queue worker method
|
|
55
|
-
* - store all data for parking zones in Prague.
|
|
56
|
-
*/
|
|
57
|
-
this.execute = async () => {
|
|
58
|
-
const currentDate = new Date();
|
|
59
|
-
await this.saveParkingZonesLocationsPrague(currentDate);
|
|
60
|
-
await this.saveParkingZonesTariffsPrague(currentDate);
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Parking zones Prague
|
|
64
|
-
* - store location data for parking zones in Prague.
|
|
65
|
-
* - merged TSK and IPR data sources
|
|
66
|
-
*/
|
|
67
|
-
this.saveParkingZonesLocationsPrague = async (currentDate) => {
|
|
68
|
-
const processingDate = new Date();
|
|
69
|
-
this.ftpTSKSettings.filename = `Area_${(0, helpers_1.dateTime)(currentDate).format("yyyy-LL-dd")}.json`;
|
|
70
|
-
this.dataSourceTSK.protocolStrategy.setConnectionSettings(this.ftpTSKSettings);
|
|
71
|
-
const dataTSK = await this.dataSourceTSK.getAll();
|
|
72
|
-
const filteredTSKRecords = this.tskParkingFilter.filterUniqueParkings(dataTSK.data);
|
|
73
|
-
const transformedTSKData = await this.transformTskData(currentDate.toISOString(), filteredTSKRecords);
|
|
74
|
-
const dataIPR = await this.dataSourceIPR.getAll();
|
|
75
|
-
const transformedIPRData = await this.iprTransformation.transform(dataIPR);
|
|
76
|
-
const result = await (0, LocationBuilderHelper_1.mergeParkingZoneDataSets)(transformedTSKData.parking, transformedIPRData);
|
|
77
|
-
const transformedParkingTariffsRelationData = await this.transformTskRelationsData(currentDate.toISOString(), filteredTSKRecords);
|
|
78
|
-
await this.parkingsModel.saveActiveParkingsWithoutAddress(result.parking, SourceEnum_1.SourceEnum.TSK);
|
|
79
|
-
await this.parkingsLocationModel.saveWithoutAddress(result.locations, SourceEnum_1.SourceEnum.TSK);
|
|
80
|
-
await this.parkingTariffRelationsRepository.saveTariffsRelations(transformedParkingTariffsRelationData, SourceEnum_1.SourceEnum.TSK, processingDate);
|
|
81
|
-
await this.parkingPaymentRepository.updatePaymentsBySource(transformedTSKData.payment, SourceEnum_1.SourceEnum.TSK, processingDate);
|
|
82
|
-
await integration_engine_1.QueueManager.sendMessageToExchange(this.config.RABBIT_EXCHANGE_NAME + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateMissingParkingsAddresses", {});
|
|
83
|
-
await integration_engine_1.QueueManager.sendMessageToExchange(this.config.RABBIT_EXCHANGE_NAME + "." + UpdateAddressWorker_1.UpdateAddressWorker.workerName.toLowerCase(), "updateMissingParkingsLocationAddresses", {});
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* Parking zones Prague
|
|
87
|
-
* - store tariff data for parking zones in Prague.
|
|
88
|
-
*/
|
|
89
|
-
this.saveParkingZonesTariffsPrague = async (currentDate) => {
|
|
90
|
-
this.ftpTSKSettings.filename = `Tarif_${(0, helpers_1.dateTime)(currentDate).format("yyyy-LL-dd")}.tsv`;
|
|
91
|
-
this.dataSourceTariffTSK.protocolStrategy.setConnectionSettings(this.ftpTSKSettings);
|
|
92
|
-
const dataTSK = await this.dataSourceTariffTSK.getAll();
|
|
93
|
-
const dataRecords = dataTSK.data;
|
|
94
|
-
const { validTariffs, invalidResults } = this.checkBusinessRules(dataRecords);
|
|
95
|
-
const transformedTSKData = await this.tskTariffTransformation.transform({
|
|
96
|
-
tsk: validTariffs,
|
|
97
|
-
lastUpdated: currentDate,
|
|
98
|
-
});
|
|
99
|
-
await this.parkingsTariffsModel.deleteByTariffIds(transformedTSKData);
|
|
100
|
-
await this.parkingsTariffsModel.bulkSave(transformedTSKData);
|
|
101
|
-
await this.saveBusinessErrors(invalidResults);
|
|
102
|
-
};
|
|
103
|
-
this.config = Di_1.ParkingsContainer.resolve(ContainerToken_1.ContainerToken.Config);
|
|
104
|
-
const strategyIPR = new datasources_1.JSONDataTypeStrategy({ resultsPath: "features" });
|
|
105
|
-
strategyIPR.setFilter((item) => item.properties.TARIFTAB);
|
|
106
|
-
this.dataSourceIPR = new datasources_1.DataSource(index_1.Parkings.ipr.name + "DataSource", new datasources_1.PaginatedHTTPProtocolStrategy({
|
|
107
|
-
headers: {},
|
|
108
|
-
method: "GET",
|
|
109
|
-
url: this.config.datasources.ParkingZones,
|
|
110
|
-
}), strategyIPR, new golemio_validator_1.JSONSchemaValidator(index_1.Parkings.ipr.name + "DataSource", index_1.Parkings.ipr.datasourceJsonSchema));
|
|
111
|
-
this.ftpTSKSettings = {
|
|
112
|
-
filename: "",
|
|
113
|
-
path: this.config.datasources.TSKFTPParkingZonesPath,
|
|
114
|
-
url: {
|
|
115
|
-
host: this.config.datasources.TSKFTP.host,
|
|
116
|
-
port: this.config.datasources.TSKFTP.port,
|
|
117
|
-
user: this.config.datasources.TSKFTP.user,
|
|
118
|
-
password: this.config.datasources.TSKFTP.password,
|
|
119
|
-
},
|
|
120
|
-
encoding: "utf8",
|
|
121
|
-
};
|
|
122
|
-
this.dataSourceTSK = new datasources_1.DataSource(index_1.Parkings.tsk.name + "DataSource", new datasources_1.FTPProtocolStrategy(this.ftpTSKSettings), new datasources_1.JSONDataTypeStrategy({ resultsPath: "features" }), new golemio_validator_1.JSONSchemaValidator(index_1.Parkings.tsk.name + "DataSource", index_1.Parkings.tsk.datasourceGeoJsonSchema));
|
|
123
|
-
this.dataSourceTariffTSK = new datasources_1.DataSource(index_1.Parkings.tsk.name + "DataSource", new datasources_1.FTPProtocolStrategy(this.ftpTSKSettings), new datasources_1.CSVDataTypeStrategy({
|
|
124
|
-
fastcsvParams: { delimiter: "\t", headers: true },
|
|
125
|
-
subscribe: (json) => json,
|
|
126
|
-
}), new golemio_validator_1.JSONSchemaValidator(index_1.Parkings.tsk.name + "DataSource", index_1.Parkings.tsk.datasourceTariffJsonSchema));
|
|
127
|
-
this.iprTransformation = new IPRParkingTransformation_1.IPRParkingTransformation();
|
|
128
|
-
this.tskTariffTransformation = new TSKParkingTariffTransformation_1.TSKParkingTariffTransformation();
|
|
129
|
-
this.parkingsLocationModel = new ParkingsLocationRepository_1.ParkingsLocationRepository();
|
|
130
|
-
this.parkingsModel = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository);
|
|
131
|
-
this.parkingsTariffsModel = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffsRepository);
|
|
132
|
-
this.parkingTariffRelationsRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRelationsRepository);
|
|
133
|
-
this.parkingPaymentRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingPaymentsRepository);
|
|
134
|
-
this.parkingsBusinessErrorsRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsBusinessErrorsRepository);
|
|
135
|
-
this.tskParkingFilter = new TskParkingFilter_1.TskParkingFilter();
|
|
136
|
-
}
|
|
137
|
-
async transformTskData(currentDate, dataTSK) {
|
|
138
|
-
const tskTransformation = new TSKParkingTransformation_1.TSKParkingTransformation(currentDate);
|
|
139
|
-
return await tskTransformation.transform(dataTSK);
|
|
140
|
-
}
|
|
141
|
-
async transformTskRelationsData(currentDate, dataTSK) {
|
|
142
|
-
const tskTransformation = new TSKParkingTransformation_1.TSKParkingTransformation(currentDate);
|
|
143
|
-
return tskTransformation.transformParkingTariffsRelation(dataTSK);
|
|
144
|
-
}
|
|
145
|
-
checkBusinessRules(dataRecords) {
|
|
146
|
-
const tariffChecker = TariffCheckerFactory_1.default.get(TariffCheckerFactory_1.TariffCheckerEnum.TSK);
|
|
147
|
-
const checkedTariffs = dataRecords?.map((tariff) => {
|
|
148
|
-
return {
|
|
149
|
-
checkerResult: tariffChecker.isTariffValid({
|
|
150
|
-
cTariff: +tariff["CTARIF"],
|
|
151
|
-
pricePerHour: +tariff["PricePerHour"],
|
|
152
|
-
maxParkingTime: +tariff["MaxParkingTime"],
|
|
153
|
-
maxPrice: +tariff["MaxPrice"],
|
|
154
|
-
minPrice: +tariff["MinPrice"],
|
|
155
|
-
}),
|
|
156
|
-
tariff: tariff,
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
const listOfInvalidTariffIds = checkedTariffs
|
|
160
|
-
.filter((checkedTariff) => !checkedTariff.checkerResult.isValid)
|
|
161
|
-
.map((checkedTariff) => checkedTariff.tariff["CTARIF"]);
|
|
162
|
-
const validTariffs = dataRecords.filter((tariff) => !listOfInvalidTariffIds.includes(tariff["CTARIF"]));
|
|
163
|
-
const invalidResults = checkedTariffs.map((checkedTariff) => checkedTariff.checkerResult).filter((element) => !element.isValid);
|
|
164
|
-
return { validTariffs, invalidResults };
|
|
165
|
-
}
|
|
166
|
-
async saveBusinessErrors(invalidResults) {
|
|
167
|
-
const businessErrors = invalidResults.map((result) => {
|
|
168
|
-
return {
|
|
169
|
-
identifier: (0, uuid_by_string_1.default)(`${result.failedInput?.cTariff}`),
|
|
170
|
-
provider: "tsk",
|
|
171
|
-
record_date: (0, helpers_1.dateTime)(new Date()).format("yyyy-LL-dd"),
|
|
172
|
-
type: "tariff",
|
|
173
|
-
detail: result.failedInput,
|
|
174
|
-
};
|
|
175
|
-
});
|
|
176
|
-
if (businessErrors.length > 0) {
|
|
177
|
-
await this.parkingsBusinessErrorsRepository.bulkSave(businessErrors);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
exports.SaveParkingZonesPrague = SaveParkingZonesPrague;
|
|
182
|
-
//# sourceMappingURL=SaveParkingZonesPrague.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SaveParkingZonesPrague.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveParkingZonesPrague.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
-
private readonly paymentsRepository;
|
|
9
|
-
constructor();
|
|
10
|
-
GetAll: (options?: IGeoJsonAllFilterParameters) => Promise<IGeoJSONFeatureCollection>;
|
|
11
|
-
GetOne: (id: string) => Promise<ITskParkingLotFeature | undefined>;
|
|
12
|
-
IsPrimaryIdNumber(_idKey: string): Promise<boolean>;
|
|
13
|
-
PrimaryIdentifierSelection(id: string): object;
|
|
14
|
-
GetProperties: () => Promise<IPropertyResponseModel[]>;
|
|
15
|
-
private get attributeOptions();
|
|
16
|
-
private get includeOptions();
|
|
17
|
-
}
|