@golemio/parkings 1.8.2-dev.1202833211 → 1.8.2-dev.1203186512
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/migrations/postgresql/20240227105006-opening-hours.js +53 -0
- package/db/migrations/postgresql/sqls/20240227105006-opening-hours-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20240227105006-opening-hours-up.sql +10 -0
- package/dist/helpers/osm/MaxStayParser.d.ts +11 -0
- package/dist/helpers/osm/MaxStayParser.js +38 -0
- package/dist/helpers/osm/MaxStayParser.js.map +1 -0
- package/dist/helpers/osm/OpeningHoursParser.d.ts +18 -0
- package/dist/helpers/osm/OpeningHoursParser.js +76 -0
- package/dist/helpers/osm/OpeningHoursParser.js.map +1 -0
- package/dist/helpers/periods/DaysInWeekEnum.d.ts +13 -0
- package/dist/helpers/periods/DaysInWeekEnum.js +19 -0
- package/dist/helpers/periods/DaysInWeekEnum.js.map +1 -0
- package/dist/helpers/periods/PhTypesEnum.d.ts +4 -0
- package/dist/helpers/periods/PhTypesEnum.js +9 -0
- package/dist/helpers/periods/PhTypesEnum.js.map +1 -0
- package/dist/integration-engine/ioc/Di.js +20 -12
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +3 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +3 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/repositories/OpenHoursRepository.d.ts +6 -0
- package/dist/integration-engine/repositories/OpenHoursRepository.js +60 -0
- package/dist/integration-engine/repositories/OpenHoursRepository.js.map +1 -0
- package/dist/integration-engine/transformations/isphk/IsphkOpeningHoursTransformation.d.ts +9 -0
- package/dist/integration-engine/transformations/isphk/IsphkOpeningHoursTransformation.js +42 -0
- package/dist/integration-engine/transformations/isphk/IsphkOpeningHoursTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/osm/OsmOpeningHoursTransformation.d.ts +11 -0
- package/dist/integration-engine/transformations/osm/OsmOpeningHoursTransformation.js +53 -0
- package/dist/integration-engine/transformations/osm/OsmOpeningHoursTransformation.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.d.ts +4 -1
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.js +13 -2
- package/dist/integration-engine/workers/tasks/SaveIptoictParkingDataTask.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveOsmDataTask.d.ts +5 -1
- package/dist/integration-engine/workers/tasks/SaveOsmDataTask.js +16 -3
- package/dist/integration-engine/workers/tasks/SaveOsmDataTask.js.map +1 -1
- package/dist/schema-definitions/models/OpeningHoursModel.d.ts +12 -0
- package/dist/schema-definitions/models/OpeningHoursModel.js +26 -0
- package/dist/schema-definitions/models/OpeningHoursModel.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHours.d.ts +8 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHours.js +3 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHours.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHoursPeriod.d.ts +8 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHoursPeriod.js +3 -0
- package/dist/schema-definitions/models/interfaces/openingHours/IOpeningHoursPeriod.js.map +1 -0
- package/docs/assets/parkings_erd.png +0 -0
- package/docs/implementation-documentation.md +6 -2
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20240227105006-opening-hours-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20240227105006-opening-hours-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DROP TABLE parkings_opening_hours;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
CREATE TABLE parkings_opening_hours (
|
|
2
|
+
parking_id varchar(255) NOT NULL,
|
|
3
|
+
"source" varchar(255) NOT NULL,
|
|
4
|
+
valid_from timestamptz NOT NULL DEFAULT to_timestamp(0::double precision),
|
|
5
|
+
valid_to timestamptz NULL,
|
|
6
|
+
periods_of_time json NOT NULL,
|
|
7
|
+
created_at timestamptz NULL,
|
|
8
|
+
updated_at timestamptz NULL,
|
|
9
|
+
CONSTRAINT parkings_opening_hours_pk PRIMARY KEY (parking_id, valid_from)
|
|
10
|
+
);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsing strings based on https://wiki.openstreetmap.org/wiki/Key:maxstay
|
|
3
|
+
* Minimal implementation:
|
|
4
|
+
* - "unlimited", "none", "no"
|
|
5
|
+
* - "90 minutes"
|
|
6
|
+
* - "1 hour"; "5 hours", "1.5 hours"
|
|
7
|
+
* - "1 day"; "2 days"
|
|
8
|
+
*/
|
|
9
|
+
export declare class MaxStayParser {
|
|
10
|
+
static parse(maxStay: string | null): number | null | undefined;
|
|
11
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Parsing strings based on https://wiki.openstreetmap.org/wiki/Key:maxstay
|
|
4
|
+
* Minimal implementation:
|
|
5
|
+
* - "unlimited", "none", "no"
|
|
6
|
+
* - "90 minutes"
|
|
7
|
+
* - "1 hour"; "5 hours", "1.5 hours"
|
|
8
|
+
* - "1 day"; "2 days"
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.MaxStayParser = void 0;
|
|
12
|
+
class MaxStayParser {
|
|
13
|
+
static parse(maxStay) {
|
|
14
|
+
if (!maxStay) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (maxStay === "unlimited" || maxStay === "none" || maxStay === "no") {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const maxStayMatch = maxStay.match(/^(\d+(\.\d+)?)\s*(minute|hour|day)s?$/);
|
|
21
|
+
if (maxStayMatch) {
|
|
22
|
+
const value = parseFloat(maxStayMatch[1]);
|
|
23
|
+
const unit = maxStayMatch[3];
|
|
24
|
+
if (unit === "minute") {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
if (unit === "hour") {
|
|
28
|
+
return value * 60;
|
|
29
|
+
}
|
|
30
|
+
if (unit === "day") {
|
|
31
|
+
return value * 60 * 24;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.MaxStayParser = MaxStayParser;
|
|
38
|
+
//# sourceMappingURL=MaxStayParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaxStayParser.js","sourceRoot":"","sources":["../../../src/helpers/osm/MaxStayParser.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,MAAa,aAAa;IACf,MAAM,CAAC,KAAK,CAAC,OAAsB;QACtC,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,IAAI,CAAC;SACf;QAED,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE;YACnE,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAE5E,IAAI,YAAY,EAAE;YACd,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACnB,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,OAAO,KAAK,GAAG,EAAE,CAAC;aACrB;YAED,IAAI,IAAI,KAAK,KAAK,EAAE;gBAChB,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;aAC1B;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA/BD,sCA+BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsing strings based on https://wiki.openstreetmap.org/wiki/Key:opening_hours#Implementation
|
|
3
|
+
* Minimal implementation:
|
|
4
|
+
* - "24/7"
|
|
5
|
+
* - "09:00-22:00"
|
|
6
|
+
* - "Mo-Sa 09:00-19:00; Su 10:00-18:00"
|
|
7
|
+
* - "Mo-Fr 07:00-01:00"
|
|
8
|
+
*/
|
|
9
|
+
import { IOpeningHoursPeriod } from "../../schema-definitions/models/interfaces/openingHours/IOpeningHoursPeriod";
|
|
10
|
+
export declare class OpeningHoursParser {
|
|
11
|
+
private readonly TWENTY_FOUR_SEVEN;
|
|
12
|
+
private readonly OSM_BASIC_FORMAT_REGEX;
|
|
13
|
+
private readonly OSM_FORMAT_REGEX;
|
|
14
|
+
private daysInWeek;
|
|
15
|
+
constructor();
|
|
16
|
+
parse(openingHours: string | null): Array<Partial<IOpeningHoursPeriod>> | null;
|
|
17
|
+
private generatePeriods;
|
|
18
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Parsing strings based on https://wiki.openstreetmap.org/wiki/Key:opening_hours#Implementation
|
|
4
|
+
* Minimal implementation:
|
|
5
|
+
* - "24/7"
|
|
6
|
+
* - "09:00-22:00"
|
|
7
|
+
* - "Mo-Sa 09:00-19:00; Su 10:00-18:00"
|
|
8
|
+
* - "Mo-Fr 07:00-01:00"
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.OpeningHoursParser = void 0;
|
|
12
|
+
const DaysInWeekEnum_1 = require("../periods/DaysInWeekEnum");
|
|
13
|
+
const PhTypesEnum_1 = require("../periods/PhTypesEnum");
|
|
14
|
+
class OpeningHoursParser {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.TWENTY_FOUR_SEVEN = "24/7";
|
|
17
|
+
this.OSM_BASIC_FORMAT_REGEX =
|
|
18
|
+
// eslint-disable-next-line max-len
|
|
19
|
+
/(?<element>(?<days>(Mo|Tu|We|Th|Fr|Sa|Su)([-,]?(Mo|Tu|We|Th|Fr|Sa|Su))*)*[ ]?(?<timeSpan>\d{2}:\d{2}-\d{2}:\d{2},?){1,})(; )?/gs;
|
|
20
|
+
this.OSM_FORMAT_REGEX =
|
|
21
|
+
// eslint-disable-next-line max-len
|
|
22
|
+
/^((?<element>(?<days>(Mo|Tu|We|Th|Fr|Sa|Su)([-,]?(Mo|Tu|We|Th|Fr|Sa|Su))*)*[ ]?(?<timeSpan>\d{2}:\d{2}-\d{2}:\d{2},?){1,})(; )?)+$/;
|
|
23
|
+
this.generatePeriods = (weekDays, startTime, endTime, ph) => {
|
|
24
|
+
const result = [];
|
|
25
|
+
for (const day of weekDays) {
|
|
26
|
+
for (const phType of ph) {
|
|
27
|
+
result.push({ day_in_week: day.toString(), start: startTime, end: endTime, ph: phType });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
this.daysInWeek = Object.values(DaysInWeekEnum_1.DaysInWeekEnum);
|
|
33
|
+
}
|
|
34
|
+
// TODO dont forget to fill additional values for partial return type
|
|
35
|
+
parse(openingHours) {
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
37
|
+
const periods = [];
|
|
38
|
+
if (!openingHours) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
if (openingHours === this.TWENTY_FOUR_SEVEN) {
|
|
42
|
+
return this.generatePeriods(Object.values(DaysInWeekEnum_1.DaysInWeekEnum), "00:00", "23:59", Object.values(PhTypesEnum_1.PhTypes));
|
|
43
|
+
}
|
|
44
|
+
if (this.OSM_FORMAT_REGEX.test(openingHours) === false) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const result = openingHours.matchAll(this.OSM_BASIC_FORMAT_REGEX);
|
|
48
|
+
for (const match of result) {
|
|
49
|
+
const isDayRange = (_b = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.days) === null || _b === void 0 ? void 0 : _b.includes("-");
|
|
50
|
+
if (isDayRange) {
|
|
51
|
+
const days = (_d = (_c = match.groups) === null || _c === void 0 ? void 0 : _c.days) === null || _d === void 0 ? void 0 : _d.split("-");
|
|
52
|
+
const startDay = days[0];
|
|
53
|
+
const endDay = days[1];
|
|
54
|
+
//get all other days in between startDay and endDay
|
|
55
|
+
const startDayIndex = this.daysInWeek.indexOf(startDay);
|
|
56
|
+
const endDayIndex = this.daysInWeek.indexOf(endDay);
|
|
57
|
+
const daysInBetween = this.daysInWeek.slice(startDayIndex, endDayIndex + 1);
|
|
58
|
+
const timeSpan = (_e = match.groups) === null || _e === void 0 ? void 0 : _e.timeSpan.split("-");
|
|
59
|
+
const startTime = timeSpan[0];
|
|
60
|
+
const endTime = timeSpan[1];
|
|
61
|
+
periods.push(...this.generatePeriods(daysInBetween, startTime, endTime, Object.values(PhTypesEnum_1.PhTypes)));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// single day or multiple days
|
|
65
|
+
const days = (_h = (_g = (_f = match.groups) === null || _f === void 0 ? void 0 : _f.days) === null || _g === void 0 ? void 0 : _g.split(",")) !== null && _h !== void 0 ? _h : Object.values(DaysInWeekEnum_1.DaysInWeekEnum);
|
|
66
|
+
const timeSpan = (_j = match.groups) === null || _j === void 0 ? void 0 : _j.timeSpan.split("-");
|
|
67
|
+
const startTime = timeSpan[0];
|
|
68
|
+
const endTime = timeSpan[1];
|
|
69
|
+
periods.push(...this.generatePeriods(days, startTime, endTime, Object.values(PhTypesEnum_1.PhTypes)));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return periods;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.OpeningHoursParser = OpeningHoursParser;
|
|
76
|
+
//# sourceMappingURL=OpeningHoursParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpeningHoursParser.js","sourceRoot":"","sources":["../../../src/helpers/osm/OpeningHoursParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum DaysInWeekEnum {
|
|
2
|
+
"monday" = "Mo",
|
|
3
|
+
"tuesday" = "Tu",
|
|
4
|
+
"wednesday" = "We",
|
|
5
|
+
"thursday" = "Th",
|
|
6
|
+
"friday" = "Fr",
|
|
7
|
+
"saturday" = "Sa",
|
|
8
|
+
"sunday" = "Su"
|
|
9
|
+
}
|
|
10
|
+
export declare enum OffWeekDays {
|
|
11
|
+
"saturday" = "Sa",
|
|
12
|
+
"sunday" = "Su"
|
|
13
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OffWeekDays = exports.DaysInWeekEnum = void 0;
|
|
4
|
+
var DaysInWeekEnum;
|
|
5
|
+
(function (DaysInWeekEnum) {
|
|
6
|
+
DaysInWeekEnum["monday"] = "Mo";
|
|
7
|
+
DaysInWeekEnum["tuesday"] = "Tu";
|
|
8
|
+
DaysInWeekEnum["wednesday"] = "We";
|
|
9
|
+
DaysInWeekEnum["thursday"] = "Th";
|
|
10
|
+
DaysInWeekEnum["friday"] = "Fr";
|
|
11
|
+
DaysInWeekEnum["saturday"] = "Sa";
|
|
12
|
+
DaysInWeekEnum["sunday"] = "Su";
|
|
13
|
+
})(DaysInWeekEnum || (exports.DaysInWeekEnum = DaysInWeekEnum = {}));
|
|
14
|
+
var OffWeekDays;
|
|
15
|
+
(function (OffWeekDays) {
|
|
16
|
+
OffWeekDays["saturday"] = "Sa";
|
|
17
|
+
OffWeekDays["sunday"] = "Su";
|
|
18
|
+
})(OffWeekDays || (exports.OffWeekDays = OffWeekDays = {}));
|
|
19
|
+
//# sourceMappingURL=DaysInWeekEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaysInWeekEnum.js","sourceRoot":"","sources":["../../../src/helpers/periods/DaysInWeekEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAQX;AARD,WAAY,cAAc;IACtB,+BAAe,CAAA;IACf,gCAAgB,CAAA;IAChB,kCAAkB,CAAA;IAClB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACnB,CAAC,EARW,cAAc,8BAAd,cAAc,QAQzB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhTypes = void 0;
|
|
4
|
+
var PhTypes;
|
|
5
|
+
(function (PhTypes) {
|
|
6
|
+
PhTypes["off"] = "ph_off";
|
|
7
|
+
PhTypes["only"] = "ph_only";
|
|
8
|
+
})(PhTypes || (exports.PhTypes = PhTypes = {}));
|
|
9
|
+
//# sourceMappingURL=PhTypesEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhTypesEnum.js","sourceRoot":"","sources":["../../../src/helpers/periods/PhTypesEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAGX;AAHD,WAAY,OAAO;IACf,yBAAgB,CAAA;IAChB,2BAAkB,CAAA;AACtB,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB"}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParkingsContainer = void 0;
|
|
4
|
+
const OpeningHoursParser_1 = require("../../helpers/osm/OpeningHoursParser");
|
|
4
5
|
const TskTariffChecker_1 = require("../businessRules/TskTariffChecker");
|
|
5
6
|
const ParkingProviderDataSourceFactory_1 = require("../datasources/ParkingProviderDataSourceFactory");
|
|
6
7
|
const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
|
|
8
|
+
const IptoictDataSource_1 = require("../datasources/manual/IptoictDataSource");
|
|
7
9
|
const MrParkitDataSourceProvider_1 = require("../datasources/mr-parkit/MrParkitDataSourceProvider");
|
|
8
10
|
const OsmDataSource_1 = require("../datasources/osm/OsmDataSource");
|
|
9
11
|
const Smart4CityListDataSourceProvider_1 = require("../datasources/smart4city/Smart4CityListDataSourceProvider");
|
|
10
12
|
const Smart4CityLocationDataSourceProvider_1 = require("../datasources/smart4city/Smart4CityLocationDataSourceProvider");
|
|
11
13
|
const SmartCityListDatasourceCache_1 = require("../datasources/smart4city/SmartCityListDatasourceCache");
|
|
12
14
|
const AverageOccupancyRepository_1 = require("../repositories/AverageOccupancyRepository");
|
|
15
|
+
const OpenHoursRepository_1 = require("../repositories/OpenHoursRepository");
|
|
13
16
|
const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
|
|
14
17
|
const ParkingTariffsRepository_1 = require("../repositories/ParkingTariffsRepository");
|
|
15
18
|
const ParkingsBusinessErrorsRepository_1 = require("../repositories/ParkingsBusinessErrorsRepository");
|
|
16
19
|
const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRepository");
|
|
20
|
+
const ParkingsMeasurementRepository_1 = require("../repositories/ParkingsMeasurementRepository");
|
|
21
|
+
const ParkingsMeasurementsActualRepository_1 = require("../repositories/ParkingsMeasurementsActualRepository");
|
|
17
22
|
const ParkingsRepository_1 = require("../repositories/ParkingsRepository");
|
|
23
|
+
const ParkingsSecondaryRepository_1 = require("../repositories/ParkingsSecondaryRepository");
|
|
18
24
|
const ParkingsRedisModel_1 = require("../repositories/redis/ParkingsRedisModel");
|
|
19
25
|
const TskParkingMachinesTransformation_1 = require("../transformations/TskParkingMachinesTransformation");
|
|
20
|
-
const
|
|
26
|
+
const OsmOpeningHoursTransformation_1 = require("../transformations/osm/OsmOpeningHoursTransformation");
|
|
21
27
|
const CalculateAverageOccupancyTask_1 = require("../workers/tasks/CalculateAverageOccupancyTask");
|
|
28
|
+
const GenerateSmart4CityTaskListTask_1 = require("../workers/tasks/GenerateSmart4CityTaskListTask");
|
|
29
|
+
const SaveIptoictParkingDataTask_1 = require("../workers/tasks/SaveIptoictParkingDataTask");
|
|
30
|
+
const SaveIsphkMeasurementsTask_1 = require("../workers/tasks/SaveIsphkMeasurementsTask");
|
|
22
31
|
const SaveMrParkitDataTask_1 = require("../workers/tasks/SaveMrParkitDataTask");
|
|
23
32
|
const SaveOsmDataTask_1 = require("../workers/tasks/SaveOsmDataTask");
|
|
24
33
|
const UpdateSmart4CityLocationsTask_1 = require("../workers/tasks/UpdateSmart4CityLocationsTask");
|
|
@@ -27,12 +36,6 @@ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
|
27
36
|
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
|
|
28
37
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
29
38
|
const ModuleContainerToken_1 = require("./ModuleContainerToken");
|
|
30
|
-
const ParkingsSecondaryRepository_1 = require("../repositories/ParkingsSecondaryRepository");
|
|
31
|
-
const IptoictDataSource_1 = require("../datasources/manual/IptoictDataSource");
|
|
32
|
-
const SaveIptoictParkingDataTask_1 = require("../workers/tasks/SaveIptoictParkingDataTask");
|
|
33
|
-
const ParkingsMeasurementRepository_1 = require("../repositories/ParkingsMeasurementRepository");
|
|
34
|
-
const ParkingsMeasurementsActualRepository_1 = require("../repositories/ParkingsMeasurementsActualRepository");
|
|
35
|
-
const SaveIsphkMeasurementsTask_1 = require("../workers/tasks/SaveIsphkMeasurementsTask");
|
|
36
39
|
//#region Initialization
|
|
37
40
|
const parkingsContainer = Di_1.IntegrationEngineContainer.createChildContainer();
|
|
38
41
|
exports.ParkingsContainer = parkingsContainer;
|
|
@@ -63,8 +66,15 @@ parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.
|
|
|
63
66
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OsmDataSource, OsmDataSource_1.OsmDataSource);
|
|
64
67
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.IptoictDataSource, IptoictDataSource_1.IptoictDataSource);
|
|
65
68
|
//#endregion
|
|
69
|
+
//#region Helpers
|
|
70
|
+
parkingsContainer
|
|
71
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.TskTariffChecker, TskTariffChecker_1.TskTariffChecker)
|
|
72
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.OsmOpeningHoursParser, OpeningHoursParser_1.OpeningHoursParser);
|
|
73
|
+
//#endregion
|
|
66
74
|
//#region Transformation
|
|
67
|
-
parkingsContainer
|
|
75
|
+
parkingsContainer
|
|
76
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation, TskParkingMachinesTransformation_1.TskParkingMachinesTransformation)
|
|
77
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.OsmOpeningHoursTransformation, OsmOpeningHoursTransformation_1.OsmOpeningHoursTransformation);
|
|
68
78
|
//#endregion
|
|
69
79
|
//#region Repositories
|
|
70
80
|
parkingsContainer
|
|
@@ -76,12 +86,10 @@ parkingsContainer
|
|
|
76
86
|
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository, ParkingMachinesRepository_1.ParkingMachinesRepository)
|
|
77
87
|
.register(ModuleContainerToken_1.ModuleContainerToken.AverageOccupancyRepository, AverageOccupancyRepository_1.AverageOccupancyRepository)
|
|
78
88
|
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementRepository, ParkingsMeasurementRepository_1.ParkingsMeasurementRepository)
|
|
79
|
-
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementsActualRepository, ParkingsMeasurementsActualRepository_1.ParkingsMeasurementsActualRepository)
|
|
89
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingsMeasurementsActualRepository, ParkingsMeasurementsActualRepository_1.ParkingsMeasurementsActualRepository)
|
|
90
|
+
.register(ModuleContainerToken_1.ModuleContainerToken.OpenHoursRepository, OpenHoursRepository_1.OpenHoursRepository);
|
|
80
91
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.RedisModel, ParkingsRedisModel_1.ParkingsRedisModel);
|
|
81
92
|
//#endregion
|
|
82
|
-
//#region Helpers
|
|
83
|
-
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskTariffChecker, TskTariffChecker_1.TskTariffChecker);
|
|
84
|
-
//#endregion
|
|
85
93
|
//#region Tasks
|
|
86
94
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask, SaveMrParkitDataTask_1.SaveMrParkitDataTask);
|
|
87
95
|
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.GenerateSmart4CityTaskListTask, GenerateSmart4CityTaskListTask_1.GenerateSmart4CityTaskListTask);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,sGAAoG;AACpG,4FAA0F;AAC1F,oGAAkG;AAClG,oEAAkE;AAClE,iHAA+G;AAC/G,yHAAuH;AACvH,yGAAuG;AACvG,2FAAyF;AACzF,yFAAuF;AACvF,uFAAqF;AACrF,uGAAqG;AACrG,2FAAyF;AACzF,2EAAyE;AACzE,iFAA+E;AAC/E,0GAAwG;AACxG,
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ declare const ModuleContainerToken: {
|
|
|
10
10
|
AverageOccupancyRepository: symbol;
|
|
11
11
|
ParkingsMeasurementRepository: symbol;
|
|
12
12
|
ParkingsMeasurementsActualRepository: symbol;
|
|
13
|
+
OpenHoursRepository: symbol;
|
|
13
14
|
TskParkingMachinesDataSource: symbol;
|
|
14
15
|
TskParkingMachinesTransformation: symbol;
|
|
15
16
|
TskParkingSectionLevel251DataSource: symbol;
|
|
@@ -28,6 +29,8 @@ declare const ModuleContainerToken: {
|
|
|
28
29
|
UpdateSmart4CityMeasurementsTask: symbol;
|
|
29
30
|
OsmDataSource: symbol;
|
|
30
31
|
SaveOsmDataTask: symbol;
|
|
32
|
+
OsmOpeningHoursParser: symbol;
|
|
33
|
+
OsmOpeningHoursTransformation: symbol;
|
|
31
34
|
IptoictDataSource: symbol;
|
|
32
35
|
SaveIptoictParkingDataTask: symbol;
|
|
33
36
|
SaveIsphkMeasurementsTask: symbol;
|
|
@@ -13,6 +13,7 @@ const ModuleContainerToken = {
|
|
|
13
13
|
AverageOccupancyRepository: Symbol(),
|
|
14
14
|
ParkingsMeasurementRepository: Symbol(),
|
|
15
15
|
ParkingsMeasurementsActualRepository: Symbol(),
|
|
16
|
+
OpenHoursRepository: Symbol(),
|
|
16
17
|
TskParkingMachinesDataSource: Symbol(),
|
|
17
18
|
TskParkingMachinesTransformation: Symbol(),
|
|
18
19
|
TskParkingSectionLevel251DataSource: Symbol(),
|
|
@@ -36,6 +37,8 @@ const ModuleContainerToken = {
|
|
|
36
37
|
//#region OSM
|
|
37
38
|
OsmDataSource: Symbol(),
|
|
38
39
|
SaveOsmDataTask: Symbol(),
|
|
40
|
+
OsmOpeningHoursParser: Symbol(),
|
|
41
|
+
OsmOpeningHoursTransformation: Symbol(),
|
|
39
42
|
//#endregion
|
|
40
43
|
//#region IPTOICT
|
|
41
44
|
IptoictDataSource: Symbol(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IACnC,0BAA0B,EAAE,MAAM,EAAE;IACpC,6BAA6B,EAAE,MAAM,EAAE;IACvC,oCAAoC,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IACnC,0BAA0B,EAAE,MAAM,EAAE;IACpC,6BAA6B,EAAE,MAAM,EAAE;IACvC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,mBAAmB,EAAE,MAAM,EAAE;IAE7B,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,gCAAgC,EAAE,MAAM,EAAE;IAE1C,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY;IAEZ,oBAAoB;IACpB,gCAAgC,EAAE,MAAM,EAAE;IAC1C,oCAAoC,EAAE,MAAM,EAAE;IAC9C,4BAA4B,EAAE,MAAM,EAAE;IACtC,8BAA8B,EAAE,MAAM,EAAE;IACxC,6BAA6B,EAAE,MAAM,EAAE;IACvC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;IAEZ,aAAa;IACb,aAAa,EAAE,MAAM,EAAE;IACvB,eAAe,EAAE,MAAM,EAAE;IACzB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;IAEZ,iBAAiB;IACjB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,0BAA0B,EAAE,MAAM,EAAE;IACpC,yBAAyB,EAAE,MAAM,EAAE;IACnC,YAAY;IAEZ,2BAA2B;IAC3B,6BAA6B,EAAE,MAAM,EAAE;IACvC,YAAY;CACf,CAAC;AACO,oDAAoB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IOpeningHours } from "../../schema-definitions/models/interfaces/openingHours/IOpeningHours";
|
|
2
|
+
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
export declare class OpenHoursRepository extends PostgresModel implements IModel {
|
|
4
|
+
constructor();
|
|
5
|
+
mergeOpenHours(openHours: IOpeningHours[], source: string[] | null): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.OpenHoursRepository = void 0;
|
|
22
|
+
const _sch_1 = require("../../schema-definitions");
|
|
23
|
+
const OpeningHoursModel_1 = require("../../schema-definitions/models/OpeningHoursModel");
|
|
24
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
25
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
26
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
27
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
28
|
+
let OpenHoursRepository = exports.OpenHoursRepository = class OpenHoursRepository extends integration_engine_1.PostgresModel {
|
|
29
|
+
constructor() {
|
|
30
|
+
super("ParkingsOpenHoursRepository", {
|
|
31
|
+
pgTableName: OpeningHoursModel_1.OpeningHoursModel.tableName,
|
|
32
|
+
pgSchema: _sch_1.Parkings.pgSchema,
|
|
33
|
+
outputSequelizeAttributes: OpeningHoursModel_1.OpeningHoursModel.attributeModel,
|
|
34
|
+
savingType: "insertOrUpdate",
|
|
35
|
+
}, new golemio_validator_1.JSONSchemaValidator("ParkingsOpenHoursRepositoryValidator", {}));
|
|
36
|
+
}
|
|
37
|
+
mergeOpenHours(openHours, source) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const dateBeforeSaving = new Date();
|
|
40
|
+
yield this.bulkSave(openHours, ["periods_of_time", "updated_at"]);
|
|
41
|
+
if (source) {
|
|
42
|
+
yield this.sequelizeModel.destroy({
|
|
43
|
+
where: {
|
|
44
|
+
source: {
|
|
45
|
+
[sequelize_1.Op.in]: source,
|
|
46
|
+
},
|
|
47
|
+
updated_at: {
|
|
48
|
+
[sequelize_1.Op.lt]: dateBeforeSaving,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.OpenHoursRepository = OpenHoursRepository = __decorate([
|
|
57
|
+
(0, tsyringe_1.injectable)(),
|
|
58
|
+
__metadata("design:paramtypes", [])
|
|
59
|
+
], OpenHoursRepository);
|
|
60
|
+
//# sourceMappingURL=OpenHoursRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenHoursRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/OpenHoursRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,yFAAkE;AAElE,8EAA8E;AAC9E,mFAAkF;AAClF,mEAAyD;AACzD,iEAAgE;AAGzD,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,kCAAa;IAClD;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,qCAAiB,CAAC,SAAS;YACxC,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,yBAAyB,EAAE,qCAAiB,CAAC,cAAc;YAC3D,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,sCAAsC,EAAE,EAAE,CAAC,CACtE,CAAC;IACN,CAAC;IAEY,cAAc,CAAC,SAA0B,EAAE,MAAuB;;YAC3E,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,QAAQ,CAAoB,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;YACrF,IAAI,MAAM,EAAE;gBACR,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC9B,KAAK,EAAE;wBACH,MAAM,EAAE;4BACJ,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,MAAM;yBAClB;wBACD,UAAU,EAAE;4BACR,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB;yBAC5B;qBACJ;iBACJ,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ,CAAA;8BA9BY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;;GACA,mBAAmB,CA8B/B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IGenericFeature } from "../../datasources/interfaces/IGenericFeature";
|
|
2
|
+
import { IIptoictParkingProperties } from "../../../schema-definitions/datasources/Iptoict/interfaces/IIptoictParkingProperties";
|
|
3
|
+
import { IOpeningHours } from "../../../schema-definitions/models/interfaces/openingHours/IOpeningHours";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
+
export declare class IsphkOpeningHoursTransformation extends AbstractTransformation<IGenericFeature<IIptoictParkingProperties>, IOpeningHours[]> {
|
|
6
|
+
name: string;
|
|
7
|
+
constructor();
|
|
8
|
+
protected transformInternal: (element: IGenericFeature<IIptoictParkingProperties>) => IOpeningHours[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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.IsphkOpeningHoursTransformation = void 0;
|
|
13
|
+
const SourceEnum_1 = require("../../../helpers/SourceEnum");
|
|
14
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
15
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
|
+
let IsphkOpeningHoursTransformation = exports.IsphkOpeningHoursTransformation = class IsphkOpeningHoursTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.name = "IsphkOpeningHoursTransformation";
|
|
20
|
+
this.transformInternal = (element) => {
|
|
21
|
+
const result = [];
|
|
22
|
+
if (element.properties.opening_hours) {
|
|
23
|
+
for (const openingHour of element.properties.opening_hours) {
|
|
24
|
+
const transformed = {
|
|
25
|
+
parking_id: `${SourceEnum_1.SourceEnum.Isphk}-${element.properties.source_id}`,
|
|
26
|
+
source: SourceEnum_1.SourceEnum.Isphk,
|
|
27
|
+
valid_from: openingHour.valid_from,
|
|
28
|
+
valid_to: openingHour.valid_to,
|
|
29
|
+
periods_of_time: openingHour.periods_of_time,
|
|
30
|
+
};
|
|
31
|
+
result.push(transformed);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.IsphkOpeningHoursTransformation = IsphkOpeningHoursTransformation = __decorate([
|
|
39
|
+
(0, tsyringe_1.injectable)(),
|
|
40
|
+
__metadata("design:paramtypes", [])
|
|
41
|
+
], IsphkOpeningHoursTransformation);
|
|
42
|
+
//# sourceMappingURL=IsphkOpeningHoursTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsphkOpeningHoursTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/isphk/IsphkOpeningHoursTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAiD;AAKjD,6GAA0G;AAC1G,iEAAgE;AAGzD,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,+CAGpD;IAGG;QACI,KAAK,EAAE,CAAC;QAHL,SAAI,GAAW,iCAAiC,CAAC;QAM9C,sBAAiB,GAAG,CAAC,OAAmD,EAAE,EAAE;YAClF,MAAM,MAAM,GAAoB,EAAE,CAAC;YAEnC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE;gBAClC,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE;oBACxD,MAAM,WAAW,GAAkB;wBAC/B,UAAU,EAAE,GAAG,uBAAU,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;wBACjE,MAAM,EAAE,uBAAU,CAAC,KAAK;wBACxB,UAAU,EAAE,WAAW,CAAC,UAAU;wBAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,eAAe,EAAE,WAAW,CAAC,eAAwC;qBACvD,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC5B;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;IAnBF,CAAC;CAoBJ,CAAA;0CA5BY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;;GACA,+BAA+B,CA4B3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OpeningHoursParser } from "../../../helpers/osm/OpeningHoursParser";
|
|
2
|
+
import { IGenericFeature } from "../../datasources/interfaces/IGenericFeature";
|
|
3
|
+
import { IOsmParkingProperties } from "../../../schema-definitions/datasources/osm/interfaces/IOsmParkingProperties";
|
|
4
|
+
import { IOpeningHours } from "../../../schema-definitions/models/interfaces/openingHours/IOpeningHours";
|
|
5
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
6
|
+
export declare class OsmOpeningHoursTransformation extends AbstractTransformation<IGenericFeature<IOsmParkingProperties>, IOpeningHours> {
|
|
7
|
+
private openingHoursParser;
|
|
8
|
+
name: string;
|
|
9
|
+
constructor(openingHoursParser: OpeningHoursParser);
|
|
10
|
+
protected transformInternal: (element: IGenericFeature<IOsmParkingProperties>) => IOpeningHours;
|
|
11
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.OsmOpeningHoursTransformation = void 0;
|
|
16
|
+
const SourceEnum_1 = require("../../../helpers/SourceEnum");
|
|
17
|
+
const MaxStayParser_1 = require("../../../helpers/osm/MaxStayParser");
|
|
18
|
+
const OpeningHoursParser_1 = require("../../../helpers/osm/OpeningHoursParser");
|
|
19
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
20
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
21
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
22
|
+
let OsmOpeningHoursTransformation = exports.OsmOpeningHoursTransformation = class OsmOpeningHoursTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
23
|
+
constructor(openingHoursParser) {
|
|
24
|
+
super();
|
|
25
|
+
this.openingHoursParser = openingHoursParser;
|
|
26
|
+
this.name = "OsmOpenHoursTransformation";
|
|
27
|
+
this.transformInternal = (element) => {
|
|
28
|
+
const periods = this.openingHoursParser.parse(element.properties.opening_hours);
|
|
29
|
+
const maxStay = MaxStayParser_1.MaxStayParser.parse(element.properties.maxstay);
|
|
30
|
+
if (periods !== null) {
|
|
31
|
+
for (const period of periods) {
|
|
32
|
+
if (maxStay !== undefined) {
|
|
33
|
+
period.maximum_duration = maxStay;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const transformed = {
|
|
38
|
+
parking_id: `${SourceEnum_1.SourceEnum.OSM}-${element.properties.osm_id}`,
|
|
39
|
+
source: SourceEnum_1.SourceEnum.OSM,
|
|
40
|
+
valid_from: "1970-01-01T00:00:00.000Z",
|
|
41
|
+
valid_to: null,
|
|
42
|
+
periods_of_time: periods,
|
|
43
|
+
};
|
|
44
|
+
return transformed;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.OsmOpeningHoursTransformation = OsmOpeningHoursTransformation = __decorate([
|
|
49
|
+
(0, tsyringe_1.injectable)(),
|
|
50
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OsmOpeningHoursParser)),
|
|
51
|
+
__metadata("design:paramtypes", [OpeningHoursParser_1.OpeningHoursParser])
|
|
52
|
+
], OsmOpeningHoursTransformation);
|
|
53
|
+
//# sourceMappingURL=OsmOpeningHoursTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OsmOpeningHoursTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/osm/OsmOpeningHoursTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAiD;AACjD,sEAA2D;AAC3D,gFAAqE;AAErE,yEAAoE;AAIpE,6GAA0G;AAC1G,iEAAwE;AAGjE,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAA6E;IAG5H,YAAgE,kBAA8C;QAC1G,KAAK,EAAE,CAAC;QAD4D,uBAAkB,GAAlB,kBAAkB,CAAoB;QAFvG,SAAI,GAAW,4BAA4B,CAAC;QAMzC,sBAAiB,GAAG,CAAC,OAA+C,EAAE,EAAE;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,6BAAa,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,OAAO,KAAK,IAAI,EAAE;gBAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC1B,IAAI,OAAO,KAAK,SAAS,EAAE;wBACvB,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;qBACrC;iBACJ;aACJ;YAED,MAAM,WAAW,GAAkB;gBAC/B,UAAU,EAAE,GAAG,uBAAU,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC5D,MAAM,EAAE,uBAAU,CAAC,GAAG;gBACtB,UAAU,EAAE,0BAA0B;gBACtC,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,OAAgC;aACpD,CAAC;YAEF,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC;IAtBF,CAAC;CAuBJ,CAAA;wCA5BY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,qBAAqB,CAAC,CAAA;qCAA6B,uCAAkB;GAHrG,6BAA6B,CA4BzC"}
|
|
@@ -2,13 +2,16 @@ import { IptoictDataSource } from "../../datasources/manual/IptoictDataSource";
|
|
|
2
2
|
import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
|
|
3
3
|
import { ParkingsRepository } from "../../repositories/ParkingsRepository";
|
|
4
4
|
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
5
|
+
import { OpenHoursRepository } from "../../repositories/OpenHoursRepository";
|
|
5
6
|
export declare class SaveIptoictParkingDataTask extends AbstractEmptyTask {
|
|
6
7
|
private iptoictDataSource;
|
|
7
8
|
private parkingRepository;
|
|
8
9
|
private parkingLocationRepository;
|
|
10
|
+
private openHoursRepository;
|
|
9
11
|
readonly queueName = "saveIptoictParkingData";
|
|
10
12
|
readonly queueTtl: number;
|
|
11
|
-
|
|
13
|
+
private readonly isphkOpeningHoursTransformation;
|
|
14
|
+
constructor(iptoictDataSource: IptoictDataSource, parkingRepository: ParkingsRepository, parkingLocationRepository: ParkingsLocationRepository, openHoursRepository: OpenHoursRepository);
|
|
12
15
|
execute(): Promise<void>;
|
|
13
16
|
private updateParkingData;
|
|
14
17
|
private updateParkingLocations;
|
|
@@ -22,23 +22,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.SaveIptoictParkingDataTask = void 0;
|
|
25
|
+
const SourceEnum_1 = require("../../../helpers/SourceEnum");
|
|
25
26
|
const IptoictDataSource_1 = require("../../datasources/manual/IptoictDataSource");
|
|
26
27
|
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
27
28
|
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
28
29
|
const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
|
|
29
30
|
const IptoictParkingSpaceTransformation_1 = require("../../transformations/IptoictParkingSpaceTransformation");
|
|
30
31
|
const IptoictParkingTransformation_1 = require("../../transformations/IptoictParkingTransformation");
|
|
32
|
+
const IsphkOpeningHoursTransformation_1 = require("../../transformations/isphk/IsphkOpeningHoursTransformation");
|
|
31
33
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
32
34
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
33
35
|
const constants_1 = require("../constants");
|
|
36
|
+
const OpenHoursRepository_1 = require("../../repositories/OpenHoursRepository");
|
|
34
37
|
let SaveIptoictParkingDataTask = exports.SaveIptoictParkingDataTask = class SaveIptoictParkingDataTask extends integration_engine_1.AbstractEmptyTask {
|
|
35
|
-
constructor(iptoictDataSource, parkingRepository, parkingLocationRepository) {
|
|
38
|
+
constructor(iptoictDataSource, parkingRepository, parkingLocationRepository, openHoursRepository) {
|
|
36
39
|
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
37
40
|
this.iptoictDataSource = iptoictDataSource;
|
|
38
41
|
this.parkingRepository = parkingRepository;
|
|
39
42
|
this.parkingLocationRepository = parkingLocationRepository;
|
|
43
|
+
this.openHoursRepository = openHoursRepository;
|
|
40
44
|
this.queueName = "saveIptoictParkingData";
|
|
41
45
|
this.queueTtl = 1 * 60 * 60 * 1000; // 1 hour
|
|
46
|
+
this.isphkOpeningHoursTransformation = new IsphkOpeningHoursTransformation_1.IsphkOpeningHoursTransformation();
|
|
42
47
|
}
|
|
43
48
|
execute() {
|
|
44
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -52,6 +57,10 @@ let SaveIptoictParkingDataTask = exports.SaveIptoictParkingDataTask = class Save
|
|
|
52
57
|
const transformation = new IptoictParkingTransformation_1.IptoictParkingTransformation(new Date());
|
|
53
58
|
const transformedData = transformation.transformArray(data);
|
|
54
59
|
yield this.parkingRepository.bulkSave(transformedData);
|
|
60
|
+
const openingHours = data
|
|
61
|
+
.flatMap((parking) => this.isphkOpeningHoursTransformation.transformElement(parking))
|
|
62
|
+
.filter((oh) => oh.periods_of_time !== null);
|
|
63
|
+
yield this.openHoursRepository.mergeOpenHours(openingHours, [SourceEnum_1.SourceEnum.Isphk]);
|
|
55
64
|
});
|
|
56
65
|
}
|
|
57
66
|
updateParkingLocations() {
|
|
@@ -68,8 +77,10 @@ exports.SaveIptoictParkingDataTask = SaveIptoictParkingDataTask = __decorate([
|
|
|
68
77
|
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.IptoictDataSource)),
|
|
69
78
|
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository)),
|
|
70
79
|
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
|
|
80
|
+
__param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OpenHoursRepository)),
|
|
71
81
|
__metadata("design:paramtypes", [IptoictDataSource_1.IptoictDataSource,
|
|
72
82
|
ParkingsRepository_1.ParkingsRepository,
|
|
73
|
-
ParkingsLocationRepository_1.ParkingsLocationRepository
|
|
83
|
+
ParkingsLocationRepository_1.ParkingsLocationRepository,
|
|
84
|
+
OpenHoursRepository_1.OpenHoursRepository])
|
|
74
85
|
], SaveIptoictParkingDataTask);
|
|
75
86
|
//# sourceMappingURL=SaveIptoictParkingDataTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveIptoictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptoictParkingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kFAA6E;AAC7E,yEAAoE;AACpE,8FAAyF;AACzF,8EAAyE;AACzE,+GAA0G;AAC1G,qGAAgG;AAChG,8EAA0E;AAC1E,iEAAwE;AACxE,4CAAwD;
|
|
1
|
+
{"version":3,"file":"SaveIptoictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptoictParkingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAiD;AAEjD,kFAA6E;AAC7E,yEAAoE;AACpE,8FAAyF;AACzF,8EAAyE;AACzE,+GAA0G;AAC1G,qGAAgG;AAChG,iHAA4G;AAE5G,8EAA0E;AAC1E,iEAAwE;AACxE,4CAAwD;AACxD,gFAA2E;AAGpE,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sCAAiB;IAK7D,YACoD,iBAA4C,EAC3C,iBAA6C,EACrC,yBAA6D,EACpE,mBAAgD;QAElG,KAAK,CAAC,oCAAwB,CAAC,CAAC;QALwB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACnC,sBAAiB,GAAjB,iBAAiB,CAAoB;QAC7B,8BAAyB,GAAzB,yBAAyB,CAA4B;QAC5D,wBAAmB,GAAnB,mBAAmB,CAAqB;QARtF,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACvC,oCAA+B,GAAG,IAAI,iEAA+B,EAAE,CAAC;IASzF,CAAC;IAEY,OAAO;;YAChB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxC,CAAC;KAAA;IAEa,iBAAiB;;YAC3B,MAAM,IAAI,GAAsD,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;YAC/G,MAAM,cAAc,GAAG,IAAI,2DAA4B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,IAAI;iBACpB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;iBACpF,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,uBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,CAAC;KAAA;IAEa,sBAAsB;;YAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,qEAAiC,EAAE,CAAC;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;KAAA;CACJ,CAAA;qCAtCY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC/C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;qCAH0B,qCAAiB;QAChB,uCAAkB;QACF,uDAA0B;QACvC,yCAAmB;GAT7F,0BAA0B,CAsCtC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { OsmDataSource } from "../../datasources/osm/OsmDataSource";
|
|
2
|
+
import { OpenHoursRepository } from "../../repositories/OpenHoursRepository";
|
|
2
3
|
import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
|
|
3
4
|
import { ParkingsSecondaryRepository } from "../../repositories/ParkingsSecondaryRepository";
|
|
5
|
+
import { OsmOpeningHoursTransformation } from "../../transformations/osm/OsmOpeningHoursTransformation";
|
|
4
6
|
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
|
|
5
7
|
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
6
8
|
export declare class SaveOsmDataTask extends AbstractEmptyTask {
|
|
7
9
|
private osmDataSource;
|
|
8
10
|
private parkingSecondaryRepository;
|
|
9
11
|
private parkingLocationRepository;
|
|
12
|
+
private osmOpeningHoursTransformation;
|
|
13
|
+
private openHoursRepository;
|
|
10
14
|
private logger;
|
|
11
15
|
readonly queueName = "saveOsmDataTask";
|
|
12
16
|
readonly queueTtl: number;
|
|
13
|
-
constructor(osmDataSource: OsmDataSource, parkingSecondaryRepository: ParkingsSecondaryRepository, parkingLocationRepository: ParkingsLocationRepository, logger: ILogger);
|
|
17
|
+
constructor(osmDataSource: OsmDataSource, parkingSecondaryRepository: ParkingsSecondaryRepository, parkingLocationRepository: ParkingsLocationRepository, osmOpeningHoursTransformation: OsmOpeningHoursTransformation, openHoursRepository: OpenHoursRepository, logger: ILogger);
|
|
14
18
|
protected execute(): Promise<void>;
|
|
15
19
|
private updateParkingsData;
|
|
16
20
|
private updateParkingsLocationData;
|
|
@@ -24,20 +24,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
exports.SaveOsmDataTask = void 0;
|
|
25
25
|
const OsmDataSource_1 = require("../../datasources/osm/OsmDataSource");
|
|
26
26
|
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
27
|
+
const OpenHoursRepository_1 = require("../../repositories/OpenHoursRepository");
|
|
27
28
|
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
28
29
|
const ParkingsSecondaryRepository_1 = require("../../repositories/ParkingsSecondaryRepository");
|
|
30
|
+
const OsmOpeningHoursTransformation_1 = require("../../transformations/osm/OsmOpeningHoursTransformation");
|
|
29
31
|
const OsmParkingSpaceTransformation_1 = require("../../transformations/osm/OsmParkingSpaceTransformation");
|
|
30
32
|
const OsmParkingTransformation_1 = require("../../transformations/osm/OsmParkingTransformation");
|
|
31
33
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
32
34
|
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
33
35
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
34
36
|
const constants_1 = require("../constants");
|
|
37
|
+
const SourceEnum_1 = require("../../../helpers/SourceEnum");
|
|
35
38
|
let SaveOsmDataTask = exports.SaveOsmDataTask = class SaveOsmDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
36
|
-
constructor(osmDataSource, parkingSecondaryRepository, parkingLocationRepository, logger) {
|
|
39
|
+
constructor(osmDataSource, parkingSecondaryRepository, parkingLocationRepository, osmOpeningHoursTransformation, openHoursRepository, logger) {
|
|
37
40
|
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
38
41
|
this.osmDataSource = osmDataSource;
|
|
39
42
|
this.parkingSecondaryRepository = parkingSecondaryRepository;
|
|
40
43
|
this.parkingLocationRepository = parkingLocationRepository;
|
|
44
|
+
this.osmOpeningHoursTransformation = osmOpeningHoursTransformation;
|
|
45
|
+
this.openHoursRepository = openHoursRepository;
|
|
41
46
|
this.logger = logger;
|
|
42
47
|
this.queueName = "saveOsmDataTask";
|
|
43
48
|
this.queueTtl = 15 * 60 * 1000; // 15min
|
|
@@ -54,6 +59,10 @@ let SaveOsmDataTask = exports.SaveOsmDataTask = class SaveOsmDataTask extends Ab
|
|
|
54
59
|
const transformation = new OsmParkingTransformation_1.OsmParkingTransformation(new Date());
|
|
55
60
|
const transformedParkings = transformation.transformArray(parkings);
|
|
56
61
|
yield this.parkingSecondaryRepository.bulkSave(transformedParkings);
|
|
62
|
+
const openingHours = this.osmOpeningHoursTransformation
|
|
63
|
+
.transformArray(parkings)
|
|
64
|
+
.filter((oh) => oh.periods_of_time !== null);
|
|
65
|
+
yield this.openHoursRepository.mergeOpenHours(openingHours, [SourceEnum_1.SourceEnum.OSM]);
|
|
57
66
|
});
|
|
58
67
|
}
|
|
59
68
|
updateParkingsLocationData() {
|
|
@@ -70,9 +79,13 @@ exports.SaveOsmDataTask = SaveOsmDataTask = __decorate([
|
|
|
70
79
|
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OsmDataSource)),
|
|
71
80
|
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsSecondaryRepository)),
|
|
72
81
|
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
|
|
73
|
-
__param(3, (0, tsyringe_1.inject)(
|
|
82
|
+
__param(3, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OsmOpeningHoursTransformation)),
|
|
83
|
+
__param(4, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OpenHoursRepository)),
|
|
84
|
+
__param(5, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
74
85
|
__metadata("design:paramtypes", [OsmDataSource_1.OsmDataSource,
|
|
75
86
|
ParkingsSecondaryRepository_1.ParkingsSecondaryRepository,
|
|
76
|
-
ParkingsLocationRepository_1.ParkingsLocationRepository,
|
|
87
|
+
ParkingsLocationRepository_1.ParkingsLocationRepository,
|
|
88
|
+
OsmOpeningHoursTransformation_1.OsmOpeningHoursTransformation,
|
|
89
|
+
OpenHoursRepository_1.OpenHoursRepository, Object])
|
|
77
90
|
], SaveOsmDataTask);
|
|
78
91
|
//# sourceMappingURL=SaveOsmDataTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveOsmDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAkE;AAClE,yEAAoE;AACpE,8FAAyF;AACzF,gGAA2F;AAC3F,2GAAsG;AACtG,iGAA4F;AAC5F,wEAAqE;AAErE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;
|
|
1
|
+
{"version":3,"file":"SaveOsmDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAkE;AAClE,yEAAoE;AACpE,gFAA2E;AAC3E,8FAAyF;AACzF,gGAA2F;AAC3F,2GAAsG;AACtG,2GAAsG;AACtG,iGAA4F;AAC5F,wEAAqE;AAErE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,4DAAiD;AAG1C,IAAM,eAAe,6BAArB,MAAM,eAAgB,SAAQ,qCAAiB;IAIlD,YACgD,aAAoC,EACtB,0BAA+D,EAChE,yBAA6D,EAEtH,6BAAoE,EAClB,mBAAgD,EACxE,MAAuB;QAEjD,KAAK,CAAC,oCAAwB,CAAC,CAAC;QARoB,kBAAa,GAAb,aAAa,CAAe;QACd,+BAA0B,GAA1B,0BAA0B,CAA6B;QACxD,8BAAyB,GAAzB,yBAAyB,CAA4B;QAE9G,kCAA6B,GAA7B,6BAA6B,CAA+B;QACV,wBAAmB,GAAnB,mBAAmB,CAAqB;QAChE,WAAM,GAAN,MAAM,CAAS;QAVrC,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAYnD,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC5C,CAAC;KAAA;IAEa,kBAAkB;;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,mDAAwB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B;iBAClD,cAAc,CAAC,QAAQ,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,uBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;KAAA;IAEa,0BAA0B;;YACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;YAC5E,MAAM,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;YAC3D,MAAM,2BAA2B,GAAG,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACpF,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC/E,CAAC;KAAA;CACJ,CAAA;0BAvCY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,aAAa,CAAC,CAAA;IAC1C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,2BAA2B,CAAC,CAAA;IACxD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCAN0C,6BAAa;QACc,yDAA2B;QAC7B,uDAA0B;QAE/E,6DAA6B;QACW,yCAAmB;GAV7F,eAAe,CAuC3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
2
|
+
import { IOpeningHours } from "./interfaces/openingHours/IOpeningHours";
|
|
3
|
+
import { IOpeningHoursPeriod } from "./interfaces/openingHours/IOpeningHoursPeriod";
|
|
4
|
+
export declare class OpeningHoursModel extends Model<IOpeningHours> implements IOpeningHours {
|
|
5
|
+
static tableName: string;
|
|
6
|
+
parking_id: string;
|
|
7
|
+
source: string;
|
|
8
|
+
valid_from: string;
|
|
9
|
+
valid_to: string | null;
|
|
10
|
+
periods_of_time: IOpeningHoursPeriod[];
|
|
11
|
+
static attributeModel: ModelAttributes<OpeningHoursModel>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpeningHoursModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class OpeningHoursModel extends sequelize_1.Model {
|
|
6
|
+
}
|
|
7
|
+
exports.OpeningHoursModel = OpeningHoursModel;
|
|
8
|
+
OpeningHoursModel.tableName = "parkings_opening_hours";
|
|
9
|
+
OpeningHoursModel.attributeModel = {
|
|
10
|
+
parking_id: {
|
|
11
|
+
primaryKey: true,
|
|
12
|
+
type: sequelize_1.DataTypes.STRING,
|
|
13
|
+
},
|
|
14
|
+
source: {
|
|
15
|
+
type: sequelize_1.DataTypes.STRING,
|
|
16
|
+
},
|
|
17
|
+
valid_from: {
|
|
18
|
+
primaryKey: true,
|
|
19
|
+
type: sequelize_1.DataTypes.DATE,
|
|
20
|
+
},
|
|
21
|
+
valid_to: {
|
|
22
|
+
type: sequelize_1.DataTypes.DATE,
|
|
23
|
+
},
|
|
24
|
+
periods_of_time: sequelize_1.DataTypes.JSON,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=OpeningHoursModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpeningHoursModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/OpeningHoursModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAIxF,MAAa,iBAAkB,SAAQ,iBAAoB;;AAA3D,8CA0BC;AAzBiB,2BAAS,GAAG,wBAAwB,CAAC;AAQrC,gCAAc,GAAuC;IAC/D,UAAU,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,UAAU,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,eAAe,EAAE,qBAAS,CAAC,IAAI;CAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOpeningHours.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/models/interfaces/openingHours/IOpeningHours.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOpeningHoursPeriod.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/models/interfaces/openingHours/IOpeningHoursPeriod.ts"],"names":[],"mappings":""}
|
|
Binary file
|
|
@@ -339,12 +339,14 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
339
339
|
- zvlášť endpoint pro parkoviště a parkovací místa
|
|
340
340
|
- geojson formát
|
|
341
341
|
- transformace
|
|
342
|
-
- [
|
|
343
|
-
- [
|
|
342
|
+
- [OsmParkingTransformation](../src/integration-engine/transformations/osm/OsmParkingTransformation.ts) - transformace parkovišť
|
|
343
|
+
- [OsmParkingSpace](../src/integration-engine/transformations/osm/OsmParkingSpaceTransformation.ts) - transformace lokací
|
|
344
|
+
- [OsmOpeningHoursTransformaton](../src/integration-engine/transformations/osm/OsmOpeningHoursTransformaton.ts) - transformace otvíracích dob
|
|
344
345
|
- data modely
|
|
345
346
|
- parkingsModel -> (schéma parkings) `parkings_secondary`
|
|
346
347
|
- `parkings` a `parkings_secondary` tabulky jsou ve vztahu rodič a potomek
|
|
347
348
|
- parkingsLocationModel -> (schéma parkings) `parkings_location`
|
|
349
|
+
- parkingsOpeningHoursModel -> (schéma parkings) `parkings_opening_hours`
|
|
348
350
|
|
|
349
351
|
#### Task _SaveIptoictParkingDataTask_
|
|
350
352
|
|
|
@@ -359,10 +361,12 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
359
361
|
- transformace
|
|
360
362
|
- [IptoictParkingSpaceTransformation](../src/integration-engine/transformations/IptoictParkingSpaceTransformation.ts) - transformace lokací parkovišť
|
|
361
363
|
- [IptoictParkingTransformation](../src/integration-engine/transformations/IptoictParkingTransformation.ts) - transformace parkovišť
|
|
364
|
+
- [IsphkOpeningHoursTransformation](../src/integration-engine/transformations/IsphkOpeningHoursTransformation.ts) - transformace otvíracích dob
|
|
362
365
|
- data modely
|
|
363
366
|
- parkingsModel -> (schéma parkings) `parkings_secondary`
|
|
364
367
|
- `parkings` a `parkings_secondary` tabulky jsou ve vztahu rodič a potomek
|
|
365
368
|
- parkingsLocationModel -> (schéma parkings) `parkings_location`
|
|
369
|
+
- parkingsOpeningHoursModel -> (schéma parkings) `parkings_opening_hours`
|
|
366
370
|
|
|
367
371
|
#### Task _SaveIsphkMeasurementsTask_
|
|
368
372
|
|