@golemio/pid 3.9.4-dev.1714786001 → 3.9.4-dev.1732067049
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 +2 -1
- package/db/example/21_ropid_departures_presets_ropidgtfs_stops.sql +6 -0
- package/db/migrations/postgresql/20250312125125-create-presets-ropidgtfs-stops-table.js +53 -0
- package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-up.sql +7 -0
- package/dist/helpers/DateTimeUtils.d.ts +17 -0
- package/dist/helpers/DateTimeUtils.js +18 -10
- package/dist/helpers/DateTimeUtils.js.map +1 -1
- package/dist/helpers/GtfsStopParser.d.ts +6 -0
- package/dist/helpers/GtfsStopParser.js +44 -0
- package/dist/helpers/GtfsStopParser.js.map +1 -0
- package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.d.ts +13 -0
- package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.js +39 -0
- package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.d.ts +2 -0
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.js +15 -6
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.d.ts +8 -1
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js +39 -5
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +2 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +2 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.d.ts +8 -0
- package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.js +44 -0
- package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.js.map +1 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.d.ts +14 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.js +82 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.js.map +1 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.d.ts +13 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.js +39 -0
- package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.js.map +1 -0
- package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.d.ts +6 -0
- package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.js +3 -0
- package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.js.map +1 -0
- package/dist/output-gateway/pid/ioc/Di.js +12 -0
- package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
- package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +6 -0
- package/dist/output-gateway/pid/ioc/OgPidToken.js +6 -0
- package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
- package/dist/output-gateway/pid/routers/v3/V3PIDRouter.d.ts +1 -0
- package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js +4 -0
- package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js.map +1 -1
- package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.d.ts +9 -0
- package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.js +37 -0
- package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.js.map +1 -0
- package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.d.ts +7 -0
- package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.js +30 -0
- package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +2 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.d.ts +8 -2
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js +4 -3
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js.map +1 -1
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.d.ts +1 -3
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js +4 -30
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js.map +1 -1
- package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.d.ts +12 -0
- package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.js +41 -0
- package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.js.map +1 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.d.ts +4 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.js +3 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.js.map +1 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.d.ts +7 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.js +3 -0
- package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.js.map +1 -0
- package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.d.ts +19 -0
- package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.js +64 -0
- package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.js.map +1 -0
- package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.d.ts +9 -0
- package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.js +3 -0
- package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.js.map +1 -0
- package/docs/openapi-output.yaml +39 -0
- package/package.json +1 -1
|
@@ -34,7 +34,8 @@ TRUNCATE
|
|
|
34
34
|
"ropidgtfs_precomputed_trip_schedule_actual",
|
|
35
35
|
"ropidgtfs_precomputed_services_calendar_actual",
|
|
36
36
|
"ropidgtfs_precomputed_minmax_stop_sequences_actual",
|
|
37
|
-
"ropidgtfs_precomputed_departures"
|
|
37
|
+
"ropidgtfs_precomputed_departures",
|
|
38
|
+
"ropid_departures_presets_ropidgtfs_stops";
|
|
38
39
|
|
|
39
40
|
ALTER SEQUENCE ropid_departures_directions_id_seq RESTART;
|
|
40
41
|
ALTER SEQUENCE ropid_departures_presets_id_seq RESTART;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
INSERT INTO ropid_departures_presets (route_name,api_version,route,url_query_params,note,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,is_testing) VALUES
|
|
3
|
+
('Haje-testovaci',2,'/pid/departureboards','minutesAfter=180&limit=8&mode=departures&filter=routeHeadingOnceNoGapFill&order=real&aswIds=285_1','Testovací tabule pro Haje',NULL,now(),NULL,NULL,now(),NULL,false);
|
|
4
|
+
|
|
5
|
+
INSERT INTO ropid_departures_presets_ropidgtfs_stops (preset_id, stop_id, created_at, updated_at) VALUES
|
|
6
|
+
(3,'U286Z1P', now(), now())
|
|
@@ -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', '20250312125125-create-presets-ropidgtfs-stops-table-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', '20250312125125-create-presets-ropidgtfs-stops-table-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
|
+
};
|
package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-down.sql
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DROP TABLE ropid_departures_presets_ropidgtfs_stops
|
package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-up.sql
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
CREATE TABLE ropid_departures_presets_ropidgtfs_stops (
|
|
2
|
+
preset_id INT NOT NULL,
|
|
3
|
+
stop_id varchar(50) NOT NULL,
|
|
4
|
+
created_at timestamptz NOT NULL,
|
|
5
|
+
updated_at timestamptz NOT NULL,
|
|
6
|
+
CONSTRAINT ropid_departures_presets_ropidgtfs_stops_pk PRIMARY KEY (preset_id, stop_id)
|
|
7
|
+
);
|
|
@@ -22,6 +22,16 @@ export declare class DateTimeUtils {
|
|
|
22
22
|
* @param tripOriginTimestamp The ISO 8601 timestamp of the trip origin
|
|
23
23
|
*/
|
|
24
24
|
static getStopDateTimeForTripOrigin(stopTime: string, tripOriginTimestamp: string): Date;
|
|
25
|
+
/**
|
|
26
|
+
* Get a `Date` object corresponding to a given GTFS stop time and a given trip origin timestamp
|
|
27
|
+
*
|
|
28
|
+
* @param stopTime Time in seconds. The time is measured from "noon minus 12h" of the
|
|
29
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
30
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
31
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
32
|
+
* @param tripOriginTimestamp The ISO 8601 timestamp of the trip origin
|
|
33
|
+
*/
|
|
34
|
+
static getStopDateTimeForTripOrigin(stopTime: number, tripOriginTimestamp: string): Date;
|
|
25
35
|
/**
|
|
26
36
|
* Get a `Date` object corresponding to a given GTFS stop time and a given start of the trip service day
|
|
27
37
|
*
|
|
@@ -39,4 +49,11 @@ export declare class DateTimeUtils {
|
|
|
39
49
|
* @param stopTime The stop time to format
|
|
40
50
|
*/
|
|
41
51
|
static formatStopTime(stopTime: Date): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get hours, minutes, and seconds from a given time
|
|
54
|
+
*
|
|
55
|
+
* @param time The time to get the segments from. Either a number in seconds, or a string in the HH:MM:SS format
|
|
56
|
+
* (H:MM:SS is also accepted)
|
|
57
|
+
*/
|
|
58
|
+
private static getTimeSegments;
|
|
42
59
|
}
|
|
@@ -20,17 +20,8 @@ class DateTimeUtils {
|
|
|
20
20
|
static parseUTCTimeFromISO(isoTimestamp = new Date().toISOString()) {
|
|
21
21
|
return luxon_1.DateTime.fromISO(isoTimestamp).setZone(this.TIMEZONE).toFormat(this.FORMAT_TIME);
|
|
22
22
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Get a `Date` object corresponding to a given GTFS stop time and a given trip origin timestamp
|
|
25
|
-
*
|
|
26
|
-
* @param stopTime Time in the HH:MM:SS format (H:MM:SS is also accepted). The time is measured from "noon minus 12h" of the
|
|
27
|
-
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
28
|
-
* midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS. See also
|
|
29
|
-
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
30
|
-
* @param tripOriginTimestamp The ISO 8601 timestamp of the trip origin
|
|
31
|
-
*/
|
|
32
23
|
static getStopDateTimeForTripOrigin(stopTime, tripOriginTimestamp) {
|
|
33
|
-
const
|
|
24
|
+
const { hours: stopTimeHours, minutes: stopTimeMinutes, seconds: stopTimeSeconds } = this.getTimeSegments(stopTime);
|
|
34
25
|
const tripOriginMoment = moment_timezone_1.default.utc(tripOriginTimestamp).tz(this.TIMEZONE);
|
|
35
26
|
const isOvernight = stopTimeHours >= 24;
|
|
36
27
|
const isOriginAfterMidnight = tripOriginMoment.hours() < 12;
|
|
@@ -72,6 +63,23 @@ class DateTimeUtils {
|
|
|
72
63
|
static formatStopTime(stopTime) {
|
|
73
64
|
return this.stopTimeFormatter.format(stopTime);
|
|
74
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Get hours, minutes, and seconds from a given time
|
|
68
|
+
*
|
|
69
|
+
* @param time The time to get the segments from. Either a number in seconds, or a string in the HH:MM:SS format
|
|
70
|
+
* (H:MM:SS is also accepted)
|
|
71
|
+
*/
|
|
72
|
+
static getTimeSegments(time) {
|
|
73
|
+
if (typeof time === "string") {
|
|
74
|
+
const [hours, minutes, seconds] = time.split(":").map((e) => parseInt(e, 10));
|
|
75
|
+
return { hours, minutes, seconds };
|
|
76
|
+
}
|
|
77
|
+
const hours = Math.floor(time / 60 ** 2);
|
|
78
|
+
time %= 60 ** 2;
|
|
79
|
+
const minutes = Math.floor(time / 60);
|
|
80
|
+
const seconds = time % 60;
|
|
81
|
+
return { hours, minutes, seconds };
|
|
82
|
+
}
|
|
75
83
|
}
|
|
76
84
|
exports.DateTimeUtils = DateTimeUtils;
|
|
77
85
|
_a = DateTimeUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":";;;;;;;AAAA,2DAA2D;AAC3D,gGAA+D;AAE/D,MAAa,aAAa;IActB;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QACjD,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrE,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.GtfsStopParser = void 0;
|
|
10
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
11
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
12
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
13
|
+
const const_1 = require("../const");
|
|
14
|
+
let GtfsStopParser = exports.GtfsStopParser = class GtfsStopParser {
|
|
15
|
+
prepareAswWhereOptions(aswIds) {
|
|
16
|
+
let aswWhereOptions = [];
|
|
17
|
+
for (const aswId of aswIds) {
|
|
18
|
+
let aswIdLike = aswId.replaceAll("_", "/");
|
|
19
|
+
if (aswIdLike.slice(-1) === "/") {
|
|
20
|
+
aswIdLike = aswIdLike.slice(0, -1);
|
|
21
|
+
}
|
|
22
|
+
const [nodeId, stopId] = aswIdLike.split("/");
|
|
23
|
+
if (!nodeId) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
this.validateAswId(aswId, nodeId, stopId);
|
|
27
|
+
aswWhereOptions.push(sequelize_1.Sequelize.and(sequelize_1.Sequelize.where(sequelize_1.Sequelize.col("asw_node_id"), "=", nodeId), stopId && sequelize_1.Sequelize.where(sequelize_1.Sequelize.col("asw_stop_id"), "=", stopId)));
|
|
28
|
+
}
|
|
29
|
+
return aswWhereOptions;
|
|
30
|
+
}
|
|
31
|
+
isValidInteger(value) {
|
|
32
|
+
return value >= const_1.PG_INT_MIN && value <= const_1.PG_INT_MAX;
|
|
33
|
+
}
|
|
34
|
+
validateAswId(aswId, nodeId, stopId) {
|
|
35
|
+
const nodeIdNum = Number(nodeId);
|
|
36
|
+
if (!this.isValidInteger(nodeIdNum) || (stopId && !this.isValidInteger(Number(stopId)))) {
|
|
37
|
+
throw new golemio_errors_1.GeneralError(`Invalid ASW ID: ${aswId}`, this.constructor.name, `Invalid ASW ID: ${aswId}`, 400);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.GtfsStopParser = GtfsStopParser = __decorate([
|
|
42
|
+
(0, tsyringe_1.injectable)()
|
|
43
|
+
], GtfsStopParser);
|
|
44
|
+
//# sourceMappingURL=GtfsStopParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GtfsStopParser.js","sourceRoot":"","sources":["../../src/helpers/GtfsStopParser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6EAAwE;AACxE,mEAA8E;AAC9E,iEAAgE;AAChE,oCAAmD;AAG5C,IAAM,cAAc,4BAApB,MAAM,cAAc;IAChB,sBAAsB,CAAC,MAAgB;QAC1C,IAAI,eAAe,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAE3C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC;YAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,EAAE;gBACT,SAAS;aACZ;YAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE1C,eAAe,CAAC,IAAI,CAChB,qBAAS,CAAC,GAAG,CACT,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAC1D,MAAM,IAAI,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CACvE,CACJ,CAAC;SACL;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,cAAc,CAAC,KAAa;QAChC,OAAO,KAAK,IAAI,kBAAU,IAAI,KAAK,IAAI,kBAAU,CAAC;IACtD,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrF,MAAM,IAAI,6BAAY,CAAC,mBAAmB,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;SAC9G;IACL,CAAC;CACJ,CAAA;yBAvCY,cAAc;IAD1B,IAAA,qBAAU,GAAE;GACA,cAAc,CAuC1B"}
|
package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RopidDeparturesPresetsRopidGTFSStopsModel } from "../../../schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel";
|
|
2
|
+
import { ILogger } from "@golemio/core/dist/helpers";
|
|
3
|
+
import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
|
|
4
|
+
import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
|
|
5
|
+
import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
6
|
+
import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
|
|
7
|
+
export declare class RopidDeparturesPresetsRopidGTFSStopsRepository extends AbstractValidatableRepository {
|
|
8
|
+
validator: JSONSchemaValidator;
|
|
9
|
+
schema: string;
|
|
10
|
+
tableName: string;
|
|
11
|
+
sequelizeModel: ModelStatic<RopidDeparturesPresetsRopidGTFSStopsModel>;
|
|
12
|
+
constructor(connector: IDatabaseConnector, logger: ILogger);
|
|
13
|
+
}
|
package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
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.RopidDeparturesPresetsRopidGTFSStopsRepository = void 0;
|
|
16
|
+
const const_1 = require("../../../schema-definitions/const");
|
|
17
|
+
const RopidDeparturesPresetsRopidGTFSStopsModel_1 = require("../../../schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel");
|
|
18
|
+
const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
|
|
19
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
20
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
21
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
22
|
+
let RopidDeparturesPresetsRopidGTFSStopsRepository = exports.RopidDeparturesPresetsRopidGTFSStopsRepository = class RopidDeparturesPresetsRopidGTFSStopsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
|
|
23
|
+
constructor(connector, logger) {
|
|
24
|
+
super(connector, logger);
|
|
25
|
+
this.schema = const_1.PG_SCHEMA;
|
|
26
|
+
this.tableName = RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.tableName;
|
|
27
|
+
this.validator = new golemio_validator_1.JSONSchemaValidator("RopidDeparturesPresetsRopidGTFSStopsRepository", RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.jsonSchema);
|
|
28
|
+
this.sequelizeModel = connector
|
|
29
|
+
.getConnection()
|
|
30
|
+
.define(this.tableName, RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.attributeModel, { schema: this.schema });
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.RopidDeparturesPresetsRopidGTFSStopsRepository = RopidDeparturesPresetsRopidGTFSStopsRepository = __decorate([
|
|
34
|
+
(0, tsyringe_1.injectable)(),
|
|
35
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
|
|
36
|
+
__param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
37
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
38
|
+
], RopidDeparturesPresetsRopidGTFSStopsRepository);
|
|
39
|
+
//# sourceMappingURL=RopidDeparturesPresetsRopidGTFSStopsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RopidDeparturesPresetsRopidGTFSStopsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,gJAAsH;AAGtH,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,8CAA8C,4DAApD,MAAM,8CAA+C,SAAQ,6DAA6B;IAM7F,YAAiD,SAA6B,EAA4B,MAAe;QACrH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QALtB,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,qFAAyC,CAAC,SAAS,CAAC;QAKnE,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CACpC,gDAAgD,EAChD,qFAAyC,CAAC,UAAU,CACvD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qFAAyC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnH,CAAC;CACJ,CAAA;yDAhBY,8CAA8C;IAD1D,IAAA,qBAAU,GAAE;IAOI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GANhG,8CAA8C,CAgB1D"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { RopidDeparturesPresetsModel } from "../../../schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel";
|
|
1
2
|
import { PostgresModel } from "@golemio/core/dist/integration-engine";
|
|
2
3
|
export declare class DeparturePresetsRepository extends PostgresModel {
|
|
3
4
|
constructor();
|
|
5
|
+
getAll: () => Promise<RopidDeparturesPresetsModel[]>;
|
|
4
6
|
}
|
|
@@ -2,19 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeparturePresetsRepository = void 0;
|
|
4
4
|
const const_1 = require("../../../schema-definitions/const");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
6
|
+
const RopidDeparturesPresetsModel_1 = require("../../../schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel");
|
|
7
7
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
8
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
8
9
|
class DeparturePresetsRepository extends integration_engine_1.PostgresModel {
|
|
9
10
|
constructor() {
|
|
10
|
-
super(
|
|
11
|
+
super("DeparturePresetsRepository", {
|
|
11
12
|
hasTmpTable: true,
|
|
12
|
-
outputSequelizeAttributes:
|
|
13
|
-
pgTableName:
|
|
13
|
+
outputSequelizeAttributes: RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.attributeModel,
|
|
14
|
+
pgTableName: RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.tableName,
|
|
14
15
|
pgSchema: const_1.PG_SCHEMA,
|
|
15
16
|
savingType: "insertOnly",
|
|
16
17
|
addAuditAttributes: true,
|
|
17
|
-
}, new golemio_validator_1.JSONSchemaValidator(
|
|
18
|
+
}, new golemio_validator_1.JSONSchemaValidator("DeparturePresetsRepository", RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.jsonSchema));
|
|
19
|
+
this.getAll = async () => {
|
|
20
|
+
try {
|
|
21
|
+
return this.sequelizeModel.findAll();
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
throw new golemio_errors_1.GeneralError("Database error", "DeparturePresetsRepository", err, 500);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
18
27
|
}
|
|
19
28
|
}
|
|
20
29
|
exports.DeparturePresetsRepository = DeparturePresetsRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeparturePresetsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"DeparturePresetsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,6EAAwE;AACxE,yIAA+G;AAC/G,mFAAkF;AAClF,8EAAsE;AAEtE,MAAa,0BAA2B,SAAQ,kCAAa;IACzD;QACI,KAAK,CACD,4BAA4B,EAC5B;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,yDAA2B,CAAC,cAAc;YACrE,WAAW,EAAE,yDAA2B,CAAC,SAAS;YAClD,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,IAAI;SAC3B,EACD,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,yDAA2B,CAAC,UAAU,CAAC,CAChG,CAAC;QAGC,WAAM,GAAG,KAAK,IAA4C,EAAE;YAC/D,IAAI;gBACA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACpF;QACL,CAAC,CAAC;IARF,CAAC;CASJ;AAvBD,gEAuBC"}
|
|
@@ -3,11 +3,18 @@ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
|
|
|
3
3
|
import { RopidGtfsMetadataRepository } from "../RopidGtfsMetadataRepository";
|
|
4
4
|
import { DeparturePresetsRepository } from "../data-access/DeparturePresetsRepository";
|
|
5
5
|
import { RopidDeparturesPresetsTransformation } from "../transformations/RopidDeparturesPresetsTransformation";
|
|
6
|
+
import { RopidGTFSStopsModel } from "../RopidGTFSStopsModel";
|
|
7
|
+
import { RopidDeparturesPresetsRopidGTFSStopsRepository } from "../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository";
|
|
8
|
+
import { GtfsStopParser } from "../../../helpers/GtfsStopParser";
|
|
6
9
|
export declare class DeparturePresetsFacade {
|
|
7
10
|
private metadataRepository;
|
|
11
|
+
private ropidGTFSStopsModel;
|
|
8
12
|
private departurePresetsRepository;
|
|
13
|
+
private ropidDeparturesPresetsRopidGTFSStopsRepository;
|
|
9
14
|
private transformationDeparturesPresets;
|
|
15
|
+
private gtfsStopParser;
|
|
10
16
|
private logger;
|
|
11
|
-
constructor(metadataRepository: RopidGtfsMetadataRepository, departurePresetsRepository: DeparturePresetsRepository, transformationDeparturesPresets: RopidDeparturesPresetsTransformation, logger: ILogger);
|
|
17
|
+
constructor(metadataRepository: RopidGtfsMetadataRepository, ropidGTFSStopsModel: RopidGTFSStopsModel, departurePresetsRepository: DeparturePresetsRepository, ropidDeparturesPresetsRopidGTFSStopsRepository: RopidDeparturesPresetsRopidGTFSStopsRepository, transformationDeparturesPresets: RopidDeparturesPresetsTransformation, gtfsStopParser: GtfsStopParser, logger: ILogger);
|
|
12
18
|
handleNewDeparturePresets(data: IRopidDeparturesPreset[], lastModified: string): Promise<void>;
|
|
19
|
+
private mapPresetsToGtfsStops;
|
|
13
20
|
}
|
|
@@ -22,11 +22,17 @@ const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
|
|
|
22
22
|
const DeparturePresetsRepository_1 = require("../data-access/DeparturePresetsRepository");
|
|
23
23
|
const RopidGtfsContainerToken_1 = require("../ioc/RopidGtfsContainerToken");
|
|
24
24
|
const RopidDeparturesPresetsTransformation_1 = require("../transformations/RopidDeparturesPresetsTransformation");
|
|
25
|
+
const RopidGTFSStopsModel_1 = require("../RopidGTFSStopsModel");
|
|
26
|
+
const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository");
|
|
27
|
+
const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
|
|
25
28
|
let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePresetsFacade {
|
|
26
|
-
constructor(metadataRepository, departurePresetsRepository, transformationDeparturesPresets, logger) {
|
|
29
|
+
constructor(metadataRepository, ropidGTFSStopsModel, departurePresetsRepository, ropidDeparturesPresetsRopidGTFSStopsRepository, transformationDeparturesPresets, gtfsStopParser, logger) {
|
|
27
30
|
this.metadataRepository = metadataRepository;
|
|
31
|
+
this.ropidGTFSStopsModel = ropidGTFSStopsModel;
|
|
28
32
|
this.departurePresetsRepository = departurePresetsRepository;
|
|
33
|
+
this.ropidDeparturesPresetsRopidGTFSStopsRepository = ropidDeparturesPresetsRopidGTFSStopsRepository;
|
|
29
34
|
this.transformationDeparturesPresets = transformationDeparturesPresets;
|
|
35
|
+
this.gtfsStopParser = gtfsStopParser;
|
|
30
36
|
this.logger = logger;
|
|
31
37
|
}
|
|
32
38
|
async handleNewDeparturePresets(data, lastModified) {
|
|
@@ -58,21 +64,49 @@ let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePre
|
|
|
58
64
|
});
|
|
59
65
|
await this.metadataRepository.checkSavedRows(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
60
66
|
await this.metadataRepository.replaceTmpTables(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
67
|
+
const mappedPresetsWithGtfsStops = await this.mapPresetsToGtfsStops();
|
|
68
|
+
await this.ropidDeparturesPresetsRopidGTFSStopsRepository.sequelizeModel.bulkCreate(mappedPresetsWithGtfsStops);
|
|
61
69
|
}
|
|
62
70
|
catch (err) {
|
|
63
71
|
this.logger.error(err);
|
|
64
72
|
await this.metadataRepository.rollbackFailedSaving(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
65
73
|
}
|
|
66
74
|
}
|
|
75
|
+
async mapPresetsToGtfsStops() {
|
|
76
|
+
const presets = await this.departurePresetsRepository.getAll();
|
|
77
|
+
const mappedPresetsWithGtfsStops = [];
|
|
78
|
+
for (const preset of presets) {
|
|
79
|
+
const params = new URLSearchParams(preset.url_query_params);
|
|
80
|
+
const aswIds = params.getAll("aswIds");
|
|
81
|
+
const WhereOptions = this.gtfsStopParser.prepareAswWhereOptions(aswIds);
|
|
82
|
+
for (const WhereOption of WhereOptions) {
|
|
83
|
+
const stop = await this.ropidGTFSStopsModel.findOne({
|
|
84
|
+
where: WhereOption,
|
|
85
|
+
});
|
|
86
|
+
if (!stop) {
|
|
87
|
+
this.logger.warn(WhereOption, `cannot find gtfs stop with where options`);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
mappedPresetsWithGtfsStops.push({ preset_id: preset.id, stop_id: stop.stop_id });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return mappedPresetsWithGtfsStops;
|
|
94
|
+
}
|
|
67
95
|
};
|
|
68
96
|
exports.DeparturePresetsFacade = DeparturePresetsFacade = __decorate([
|
|
69
97
|
(0, tsyringe_1.injectable)(),
|
|
70
98
|
__param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
|
|
71
|
-
__param(1, (0, tsyringe_1.inject)(
|
|
72
|
-
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.
|
|
73
|
-
__param(3, (0, tsyringe_1.inject)(
|
|
99
|
+
__param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel)),
|
|
100
|
+
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository)),
|
|
101
|
+
__param(3, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidDeparturesPresetsRopidGTFSStopsRepository)),
|
|
102
|
+
__param(4, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.RopidDeparturesPresetsTransformation)),
|
|
103
|
+
__param(5, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser)),
|
|
104
|
+
__param(6, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
|
|
74
105
|
__metadata("design:paramtypes", [RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository,
|
|
106
|
+
RopidGTFSStopsModel_1.RopidGTFSStopsModel,
|
|
75
107
|
DeparturePresetsRepository_1.DeparturePresetsRepository,
|
|
76
|
-
|
|
108
|
+
RopidDeparturesPresetsRopidGTFSStopsRepository_1.RopidDeparturesPresetsRopidGTFSStopsRepository,
|
|
109
|
+
RopidDeparturesPresetsTransformation_1.RopidDeparturesPresetsTransformation,
|
|
110
|
+
GtfsStopParser_1.GtfsStopParser, Object])
|
|
77
111
|
], DeparturePresetsFacade);
|
|
78
112
|
//# sourceMappingURL=DeparturePresetsFacade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeparturePresetsFacade.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,wEAAoG;AAGpG,6FAA0F;AAC1F,iEAAwE;AACxE,wDAAiD;AACjD,gFAA6E;AAC7E,0FAAuF;AACvF,4EAAyE;AACzE,kHAA+G;
|
|
1
|
+
{"version":3,"file":"DeparturePresetsFacade.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ const DeparturesDirectionDataSourceProvider_1 = require("../datasources/static-d
|
|
|
31
31
|
const MetroRailTrackDataSourceProvider_1 = require("../datasources/static-data/MetroRailTrackDataSourceProvider");
|
|
32
32
|
const SaveStaticDataTask_1 = require("../workers/timetables/tasks/SaveStaticDataTask");
|
|
33
33
|
const DeparturesDirectionTransformation_1 = require("../workers/timetables/tasks/transformations/DeparturesDirectionTransformation");
|
|
34
|
+
const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository");
|
|
35
|
+
const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
|
|
34
36
|
//#region Initialization
|
|
35
37
|
const RopidGtfsContainer = Di_1.PidContainer.createChildContainer();
|
|
36
38
|
exports.RopidGtfsContainer = RopidGtfsContainer;
|
|
@@ -48,6 +50,7 @@ RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.Ro
|
|
|
48
50
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository, precomputed_1.DeparturesRepository);
|
|
49
51
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
|
|
50
52
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel, RopidGTFSStopsModel_1.RopidGTFSStopsModel);
|
|
53
|
+
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidDeparturesPresetsRopidGTFSStopsRepository, RopidDeparturesPresetsRopidGTFSStopsRepository_1.RopidDeparturesPresetsRopidGTFSStopsRepository);
|
|
51
54
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturesDirectionRepository, DeparturesDirectionRepository_1.DeparturesDirectionRepository);
|
|
52
55
|
//#endregion
|
|
53
56
|
//#region Transformations
|
|
@@ -69,4 +72,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
|
|
|
69
72
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DownloadDeparturesPresetsTask, DownloadDeparturesPresetsTask_1.DownloadDeparturesPresetsTask);
|
|
70
73
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask, CheckForNewDeparturesPresetsTask_1.CheckForNewDeparturesPresetsTask);
|
|
71
74
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.SaveStaticDataTask, SaveStaticDataTask_1.SaveStaticDataTask);
|
|
75
|
+
//#endregion
|
|
76
|
+
// #regin Helpers
|
|
77
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser, GtfsStopParser_1.GtfsStopParser);
|
|
72
78
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AACpE,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;AACvG,gEAA6D;AAC7D,oFAAiF;AACjF,yHAAsH;AACtH,mIAAgI;AAChI,qHAAkH;AAClH,4HAAyH;AACzH,kHAA+G;AAC/G,uFAAoF;AACpF,qIAAkI;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,7 @@ declare const RopidGtfsContainerToken: {
|
|
|
26
26
|
DeparturesDirectionDataSourceProvider: symbol;
|
|
27
27
|
SaveStaticDataTask: symbol;
|
|
28
28
|
DeparturesDirectionTransformation: symbol;
|
|
29
|
+
RopidDeparturesPresetsRopidGTFSStopsRepository: symbol;
|
|
30
|
+
GtfsStopParser: symbol;
|
|
29
31
|
};
|
|
30
32
|
export { RopidGtfsContainerToken };
|
|
@@ -29,6 +29,8 @@ const RopidGtfsContainerToken = {
|
|
|
29
29
|
DeparturesDirectionDataSourceProvider: Symbol(),
|
|
30
30
|
SaveStaticDataTask: Symbol(),
|
|
31
31
|
DeparturesDirectionTransformation: Symbol(),
|
|
32
|
+
RopidDeparturesPresetsRopidGTFSStopsRepository: Symbol(),
|
|
33
|
+
GtfsStopParser: Symbol(),
|
|
32
34
|
};
|
|
33
35
|
exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
|
|
34
36
|
//# sourceMappingURL=RopidGtfsContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;IAC7C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,6BAA6B,EAAE,MAAM,EAAE;IACvC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,uBAAuB,EAAE,MAAM,EAAE;IACjC,uBAAuB,EAAE,MAAM,EAAE;IACjC,6BAA6B,EAAE,MAAM,EAAE;IACvC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,kBAAkB,EAAE,MAAM,EAAE;IAC5B,iCAAiC,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;IAC7C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,6BAA6B,EAAE,MAAM,EAAE;IACvC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,uBAAuB,EAAE,MAAM,EAAE;IACjC,uBAAuB,EAAE,MAAM,EAAE;IACjC,6BAA6B,EAAE,MAAM,EAAE;IACvC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,kBAAkB,EAAE,MAAM,EAAE;IAC5B,iCAAiC,EAAE,MAAM,EAAE;IAC3C,8CAA8C,EAAE,MAAM,EAAE;IACxD,cAAc,EAAE,MAAM,EAAE;CAC3B,CAAC;AAEO,0DAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadDeparturesPresetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mFAAsF;AACtF,kFAAqF;AACrF,8EAA0E;AAC1E,6EAA8F;AAC9F,iEAAwE;AACxE,4FAAyF;
|
|
1
|
+
{"version":3,"file":"DownloadDeparturesPresetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mFAAsF;AACtF,kFAAqF;AACrF,8EAA0E;AAC1E,6EAA8F;AAC9F,iEAAwE;AACxE,4FAAyF;AACzF,6EAA4C;AAGrC,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,sCAAiB;IAIhE,YAEI,2BAAgE,EACR,MAAsC;QAE9F,KAAK,CAAC,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAH5B,gCAA2B,GAA3B,2BAA2B,CAA6B;QACA,WAAM,GAAN,MAAM,CAAwB;QANlG,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IAQtC,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,IAAI;YACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;YAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;SACxE;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;iBAAM;gBACH,MAAM,IAAI,6BAAY,CAAC,8CAA8C,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpH;SACJ;IACL,CAAC;CACJ,CAAA;wCAzBY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,2BAA2B,CAAC,CAAA;IAE3D,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,sBAAsB,CAAC,CAAA;qCADlB,yDAA2B;QACQ,+CAAsB;GAPzF,6BAA6B,CAyBzC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="express" />
|
|
2
|
+
import { RopidDeparturesPresetFacade } from "../../service/facade/RopidDeparturesPresetFacade";
|
|
3
|
+
import { RequestHandler } from "@golemio/core/dist/shared/express";
|
|
4
|
+
export declare class V3RopidDeparturesPresetController {
|
|
5
|
+
private ropidDeparturesPresetFacade;
|
|
6
|
+
constructor(ropidDeparturesPresetFacade: RopidDeparturesPresetFacade);
|
|
7
|
+
getDeparturesPresets: RequestHandler;
|
|
8
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.V3RopidDeparturesPresetController = void 0;
|
|
16
|
+
const OgPidToken_1 = require("../../ioc/OgPidToken");
|
|
17
|
+
const RopidDeparturesPresetFacade_1 = require("../../service/facade/RopidDeparturesPresetFacade");
|
|
18
|
+
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
19
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
20
|
+
let V3RopidDeparturesPresetController = exports.V3RopidDeparturesPresetController = class V3RopidDeparturesPresetController {
|
|
21
|
+
constructor(ropidDeparturesPresetFacade) {
|
|
22
|
+
this.ropidDeparturesPresetFacade = ropidDeparturesPresetFacade;
|
|
23
|
+
this.getDeparturesPresets = async (_req, res, next) => {
|
|
24
|
+
const span = (0, trace_provider_1.createChildSpan)("V3RopidDeparturesPresetController.getDeparturesPresets");
|
|
25
|
+
try {
|
|
26
|
+
const outputDto = await this.ropidDeparturesPresetFacade.getRopidDeparturesPreset();
|
|
27
|
+
return res.status(200).send(outputDto);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
span?.recordException(err);
|
|
31
|
+
next(err);
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
span?.end();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.V3RopidDeparturesPresetController = V3RopidDeparturesPresetController = __decorate([
|
|
40
|
+
(0, tsyringe_1.injectable)(),
|
|
41
|
+
__param(0, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.RopidDeparturesPresetFacade)),
|
|
42
|
+
__metadata("design:paramtypes", [RopidDeparturesPresetFacade_1.RopidDeparturesPresetFacade])
|
|
43
|
+
], V3RopidDeparturesPresetController);
|
|
44
|
+
//# sourceMappingURL=V3DeparturesPresetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V3DeparturesPresetController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3DeparturesPresetController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,kGAAiG;AACjG,+FAA6F;AAE7F,iEAAwE;AAGjE,IAAM,iCAAiC,+CAAvC,MAAM,iCAAiC;IAC1C,YACoD,2BAAgE;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;QAG7G,yBAAoB,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,wDAAwD,CAAC,CAAC;YAEvF,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,CAAC;gBACpF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;IAdC,CAAC;CAeP,CAAA;4CAlBY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,2BAA2B,CAAC,CAAA;qCAAsC,yDAA2B;GAF3G,iCAAiC,CAkB7C"}
|