@golemio/pid 2.2.2-dev.534300037 → 2.2.2-dev.537222363

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.
Files changed (34) hide show
  1. package/README.md +4 -1
  2. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js +26 -24
  3. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +1 -1
  4. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +7 -0
  5. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js +118 -102
  6. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  7. package/dist/output-gateway/pid/PIDRouter.d.ts +2 -6
  8. package/dist/output-gateway/pid/PIDRouter.js +10 -79
  9. package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
  10. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.d.ts +8 -0
  11. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js +82 -0
  12. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js.map +1 -0
  13. package/dist/output-gateway/pid/index.d.ts +1 -1
  14. package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.d.ts +0 -3
  15. package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js +3 -105
  16. package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js.map +1 -1
  17. package/dist/output-gateway/pid/models/helpers/PIDDepartureModel.d.ts +24 -0
  18. package/dist/output-gateway/pid/models/helpers/PIDDepartureModel.js +114 -0
  19. package/dist/output-gateway/pid/models/helpers/PIDDepartureModel.js.map +1 -0
  20. package/dist/output-gateway/pid/models/helpers/interfaces/IPIDDepartureQueryOptions.d.ts +13 -0
  21. package/dist/output-gateway/pid/models/helpers/interfaces/IPIDDepartureQueryOptions.js +3 -0
  22. package/dist/output-gateway/pid/models/helpers/interfaces/IPIDDepartureQueryOptions.js.map +1 -0
  23. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js +6 -4
  24. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js.map +1 -1
  25. package/dist/output-gateway/shared/RopidRouterUtils.d.ts +1 -2
  26. package/dist/output-gateway/shared/RopidRouterUtils.js +2 -2
  27. package/dist/output-gateway/shared/RopidRouterUtils.js.map +1 -1
  28. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.d.ts +0 -1
  29. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +6 -19
  30. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
  31. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +13 -3
  32. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js +77 -9
  33. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  34. package/package.json +1 -1
@@ -17,19 +17,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.pidRouter = exports.PIDRouter = void 0;
20
- const lodash_1 = require("lodash");
21
- const express_1 = require("@golemio/core/dist/shared/express");
22
- const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
23
- const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
24
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
+ const shared_1 = require("../shared");
21
+ const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
22
+ const config_1 = require("@golemio/core/dist/output-gateway/config");
25
23
  const redis_1 = require("@golemio/core/dist/output-gateway/redis");
26
24
  const BaseRouter_1 = require("@golemio/core/dist/output-gateway/routes/BaseRouter");
27
25
  const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
28
- const shared_1 = require("../shared");
26
+ const express_1 = require("@golemio/core/dist/shared/express");
27
+ const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
28
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
29
+ const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
30
+ const lodash_1 = require("lodash");
29
31
  const _1 = require(".");
30
- const PIDDepartureBoardsModel_1 = require("./models/PIDDepartureBoardsModel");
31
- const config_1 = require("@golemio/core/dist/output-gateway/config");
32
- const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
33
32
  class PIDRouter extends BaseRouter_1.BaseRouter {
34
33
  constructor() {
35
34
  super();
@@ -104,7 +103,7 @@ class PIDRouter extends BaseRouter_1.BaseRouter {
104
103
  res.setHeader("access-control-expose-headers", "date");
105
104
  res.status(200).send({
106
105
  stops: data.stops,
107
- departures: data.departures.map((d) => this.transformResponseData(d, preferredTimezone, req.query.mode)),
106
+ departures: data.departures,
108
107
  infotexts: data.infotexts,
109
108
  });
110
109
  }
@@ -115,74 +114,6 @@ class PIDRouter extends BaseRouter_1.BaseRouter {
115
114
  span === null || span === void 0 ? void 0 : span.end();
116
115
  }
117
116
  });
118
- /**
119
- * Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
120
- */
121
- this.transformResponseData = (x, preferredTimezone, mode) => {
122
- var _a;
123
- let isAtStop = x.is_delay_available ? x.stop_sequence === x["trip.last_position.this_stop_sequence"] : false;
124
- const arrivalTimestamp = {
125
- // with added delay
126
- predicted: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime_real, preferredTimezone),
127
- // according to trip plan
128
- scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime, preferredTimezone),
129
- };
130
- const departureTimestamp = {
131
- // with added delay
132
- predicted: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime_real, preferredTimezone),
133
- // according to trip plan
134
- scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime, preferredTimezone),
135
- };
136
- // default value
137
- mode = mode || _1.DepartureMode.DEPARTURES;
138
- // set null timestamps for first stop of the trip for departures and mixed mode
139
- if ((mode === _1.DepartureMode.DEPARTURES || mode === _1.DepartureMode.MIXED) && x.stop_sequence === x.min_stop_sequence) {
140
- arrivalTimestamp.predicted = null;
141
- arrivalTimestamp.scheduled = null;
142
- }
143
- // set null timestamps for last stop of the trip for arrivals and mixed mode
144
- if ((mode === _1.DepartureMode.ARRIVALS || mode === _1.DepartureMode.MIXED) && x.stop_sequence === x.max_stop_sequence) {
145
- departureTimestamp.predicted = null;
146
- departureTimestamp.scheduled = null;
147
- }
148
- return {
149
- arrival_timestamp: arrivalTimestamp,
150
- delay: {
151
- is_available: x.is_delay_available,
152
- minutes: x.delay_minutes,
153
- seconds: x.delay_seconds, // TBD - now it could be negative!
154
- },
155
- departure_timestamp: departureTimestamp,
156
- last_stop: {
157
- id: x["trip.last_position.last_stop_id"],
158
- name: x["trip.last_position.last_stop_name"],
159
- },
160
- route: {
161
- short_name: x.route_short_name,
162
- type: parseInt(x.route_type, 10),
163
- is_night: x.is_night === "1",
164
- is_regional: x.is_regional === "1",
165
- is_substitute_transport: x.is_substitute_transport === "1",
166
- },
167
- stop: {
168
- id: x.stop_id,
169
- platform_code: x.platform_code,
170
- },
171
- trip: {
172
- direction: x.direction,
173
- headsign: (_a = x.stop_headsign) !== null && _a !== void 0 ? _a : x.trip_headsign,
174
- id: x.trip_id,
175
- is_at_stop: isAtStop,
176
- is_canceled: x.is_canceled || false,
177
- is_wheelchair_accessible: (0, lodash_1.isBoolean)(x.real_wheelchair_accessible)
178
- ? x.real_wheelchair_accessible
179
- : x.wheelchair_accessible === 1,
180
- // To be implemented fully after https://gitlab.com/operator-ict/golemio/code/general/-/issues/259
181
- is_air_conditioned: null,
182
- short_name: x.trip_short_name || null,
183
- },
184
- };
185
- };
186
117
  /**
187
118
  * Performs a check if timeFrom query parameter is not too old or too much in future
188
119
  * @param routerName name passed to the returned Error object in case of fail
@@ -234,7 +165,7 @@ class PIDRouter extends BaseRouter_1.BaseRouter {
234
165
  (0, express_validator_1.query)("total").optional().isInt(),
235
166
  ], Validation_1.pagination, Validation_1.checkErrors, this.checkTimeFromMiddleware("DepartureBoardsRouter"), (0, Validation_1.paginationLimitMiddleware)("DepartureBoardsRouter"), (0, redis_1.useCacheMiddleware)(expire), this.GetDepartureBoard);
236
167
  };
237
- this.departureBoardsModel = new PIDDepartureBoardsModel_1.PIDDepartureBoardsModel();
168
+ this.departureBoardsModel = new _1.PIDDepartureBoardsModel();
238
169
  this.initRoutes();
239
170
  }
240
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IPIDDeparture } from "..";
2
+ export default class DepartureBoardMapper {
3
+ static mapDepartures(data: any, preferredTimezone: string, mode: string): any;
4
+ /**
5
+ * Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
6
+ */
7
+ static transformResponseData: (x: IPIDDeparture, preferredTimezone: string, mode?: string | undefined) => any;
8
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const shared_1 = require("../../shared");
4
+ const lodash_1 = require("lodash");
5
+ const __1 = require("..");
6
+ class DepartureBoardMapper {
7
+ static mapDepartures(data, preferredTimezone, mode) {
8
+ const result = data.departures.map((d) => this.transformResponseData(d, preferredTimezone, mode));
9
+ return result;
10
+ }
11
+ }
12
+ exports.default = DepartureBoardMapper;
13
+ /**
14
+ * Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
15
+ */
16
+ DepartureBoardMapper.transformResponseData = (x, preferredTimezone, mode) => {
17
+ var _a;
18
+ let isAtStop = x.is_delay_available ? x.stop_sequence === x["trip.last_position.this_stop_sequence"] : false;
19
+ const arrivalTimestamp = {
20
+ // with added delay
21
+ predicted: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime_real, preferredTimezone),
22
+ // according to trip plan
23
+ scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.arrival_datetime, preferredTimezone),
24
+ };
25
+ const departureTimestamp = {
26
+ // with added delay
27
+ predicted: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime_real, preferredTimezone),
28
+ // according to trip plan
29
+ scheduled: shared_1.RopidRouterUtils.formatTimestamp(x.departure_datetime, preferredTimezone),
30
+ };
31
+ // default value
32
+ mode = mode || __1.DepartureMode.DEPARTURES;
33
+ // set null timestamps for first stop of the trip for departures and mixed mode
34
+ if ((mode === __1.DepartureMode.DEPARTURES || mode === __1.DepartureMode.MIXED) && x.stop_sequence === x.min_stop_sequence) {
35
+ arrivalTimestamp.predicted = null;
36
+ arrivalTimestamp.scheduled = null;
37
+ }
38
+ // set null timestamps for last stop of the trip for arrivals and mixed mode
39
+ if ((mode === __1.DepartureMode.ARRIVALS || mode === __1.DepartureMode.MIXED) && x.stop_sequence === x.max_stop_sequence) {
40
+ departureTimestamp.predicted = null;
41
+ departureTimestamp.scheduled = null;
42
+ }
43
+ const wheelchairAccessibility = (0, lodash_1.isBoolean)(x.real_wheelchair_accessible)
44
+ ? x.real_wheelchair_accessible
45
+ : x.wheelchair_accessible === 1; // enum 0,1,2 see GTFS specs
46
+ return {
47
+ arrival_timestamp: arrivalTimestamp,
48
+ delay: {
49
+ is_available: x.is_delay_available,
50
+ minutes: x.delay_minutes,
51
+ seconds: x.delay_seconds, // TBD - now it could be negative!
52
+ },
53
+ departure_timestamp: departureTimestamp,
54
+ last_stop: {
55
+ id: x["trip.last_position.last_stop_id"],
56
+ name: x["trip.last_position.last_stop_name"],
57
+ },
58
+ route: {
59
+ short_name: x.route_short_name,
60
+ type: parseInt(x.route_type, 10),
61
+ is_night: x.is_night === "1",
62
+ is_regional: x.is_regional === "1",
63
+ is_substitute_transport: x.is_substitute_transport === "1",
64
+ },
65
+ stop: {
66
+ id: x.stop_id,
67
+ platform_code: x.platform_code,
68
+ },
69
+ trip: {
70
+ direction: x.direction,
71
+ headsign: (_a = x.stop_headsign) !== null && _a !== void 0 ? _a : x.trip_headsign,
72
+ id: x.trip_id,
73
+ is_at_stop: isAtStop,
74
+ is_canceled: x.is_canceled || false,
75
+ is_wheelchair_accessible: wheelchairAccessibility,
76
+ // To be implemented fully after https://gitlab.com/operator-ict/golemio/code/general/-/issues/259
77
+ is_air_conditioned: null,
78
+ short_name: x.trip_short_name || null,
79
+ },
80
+ };
81
+ };
82
+ //# sourceMappingURL=DepartureBoardMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepartureBoardMapper.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/DepartureBoardMapper.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export interface IPIDDeparture {
17
17
  departure_time: string;
18
18
  arrival_datetime: string;
19
19
  departure_datetime: string;
20
- arrival_datetime_real: string | null;
20
+ arrival_datetime_real: Date | null;
21
21
  departure_datetime_real: string | null;
22
22
  route_short_name: string;
23
23
  trip_id: string;
@@ -1,7 +1,4 @@
1
1
  import { Moment } from "@golemio/core/dist/shared/moment-timezone";
2
- /**
3
- * Departure boards model.
4
- */
5
2
  declare class PIDDepartureBoardsModel {
6
3
  private stopsMaxCount;
7
4
  private ropidVYMIEventsModel;
@@ -21,110 +21,7 @@ const __1 = require("..");
21
21
  const RopidDeparturesModel_1 = require("./RopidDeparturesModel");
22
22
  const config_1 = require("@golemio/core/dist/output-gateway/config");
23
23
  const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
24
- class PIDDeparturesModel {
25
- constructor(departures, options) {
26
- /** Orders departures in special way by given options
27
- */
28
- this.filterAndLimit = () => {
29
- let finalDepartures = { once: this.departures, fill: [] };
30
- if (this.options.filter === __1.DepartureFilter.ROUTE_ONCE || this.options.filter === __1.DepartureFilter.ROUTE_ONCE_FILL) {
31
- finalDepartures = this.departures.reduce((acc, currentDeparture) => {
32
- // only the first departure to respone for trips with same route_id
33
- if (!acc.once.find((e) => e.route_id === currentDeparture.route_id)) {
34
- acc.once.push(currentDeparture);
35
- }
36
- else {
37
- acc.fill.push(currentDeparture);
38
- }
39
- return acc;
40
- }, { once: [], fill: [] });
41
- }
42
- else if (this.options.filter === __1.DepartureFilter.ROUTE_HEADING_ONCE ||
43
- this.options.filter === __1.DepartureFilter.ROUTE_HEADING_ONCE_FILL) {
44
- finalDepartures = this.departures.reduce((acc, currentDeparture) => {
45
- // only the first departure to respone for trips with same route_id
46
- if (!acc.once.find((e) => e.route_id === currentDeparture.route_id &&
47
- (currentDeparture.stop_headsign
48
- ? e.stop_headsign === currentDeparture.stop_headsign
49
- : e.trip_headsign === currentDeparture.trip_headsign))) {
50
- acc.once.push(currentDeparture);
51
- }
52
- else {
53
- acc.fill.push(currentDeparture);
54
- }
55
- return acc;
56
- }, { once: [], fill: [] });
57
- }
58
- if (this.options.filter === __1.DepartureFilter.ROUTE_ONCE_FILL ||
59
- this.options.filter === __1.DepartureFilter.ROUTE_HEADING_ONCE_FILL) {
60
- // return all once in limit and if still under limit fill it with others
61
- this.departures = finalDepartures.once
62
- .slice(0, this.options.total)
63
- .concat(finalDepartures.fill.slice(0, this.options.total - Math.min(finalDepartures.once.length, this.options.total)))
64
- .slice(this.options.offset, this.options.offset + this.options.limit);
65
- }
66
- else {
67
- this.departures = finalDepartures.once
68
- .slice(0, this.options.total)
69
- .slice(this.options.offset, this.options.offset + this.options.limit);
70
- }
71
- };
72
- /** Skips departures by given options
73
- */
74
- this.skip = () => {
75
- this.departures = this.departures.filter((departure) => {
76
- return !((this.options.skip.includes(__1.DepartureSkip.UNTRACKED) && !departure.is_delay_available) ||
77
- (this.options.skip.includes(__1.DepartureSkip.CANCELED) && departure.is_canceled) ||
78
- (this.options.skip.includes(__1.DepartureSkip.AT_STOP) &&
79
- departure.stop_sequence === departure["trip.last_position.this_stop_sequence"]));
80
- });
81
- };
82
- /** Sorts by proper datetime by given options
83
- */
84
- this.sort = () => {
85
- const datetimeToOrder = this.options.mode === __1.DepartureMode.ARRIVALS
86
- ? this.options.order === __1.DepartureOrder.REAL
87
- ? "arrival_datetime_real"
88
- : "arrival_datetime"
89
- : this.options.order === __1.DepartureOrder.REAL
90
- ? "departure_datetime_real"
91
- : "departure_datetime";
92
- this.departures.sort((a, b) => (0, moment_timezone_1.default)(a[datetimeToOrder]).diff(b[datetimeToOrder], "seconds"));
93
- };
94
- /** Fills direction with proper value based on departure direction ruls
95
- */
96
- this.addDirections = () => {
97
- this.departures.forEach((departure) => {
98
- departure.direction = departure.direction || null;
99
- const thisStopDeparturesDirections = this.options.departuresDirections.filter((departuresDirection) => departuresDirection.departure_stop_id === departure.stop_id);
100
- if (thisStopDeparturesDirections.length > 0) {
101
- for (const thisStopDeparturesDirection of thisStopDeparturesDirections) {
102
- if (departure.stop_id === thisStopDeparturesDirection.departure_stop_id &&
103
- departure.next_stop_id.match(thisStopDeparturesDirection.next_stop_id_regexp)) {
104
- departure.direction = thisStopDeparturesDirection.direction;
105
- }
106
- }
107
- }
108
- });
109
- };
110
- /** Skips, sorts, order, limit and returns departures in array
111
- * @returns This departures
112
- */
113
- this.toArray = () => {
114
- this.skip();
115
- this.sort();
116
- this.filterAndLimit();
117
- this.sort();
118
- this.addDirections();
119
- return this.departures;
120
- };
121
- this.departures = departures;
122
- this.options = options;
123
- }
124
- }
125
- /**
126
- * Departure boards model.
127
- */
24
+ const PIDDepartureModel_1 = __importDefault(require("./helpers/PIDDepartureModel"));
128
25
  class PIDDepartureBoardsModel {
129
26
  constructor() {
130
27
  this.stopsMaxCount = 100;
@@ -176,7 +73,7 @@ class PIDDepartureBoardsModel {
176
73
  });
177
74
  const spanDepartures = (0, trace_provider_1.createChildSpan)("PIDRouter.DB.departures", config_1.config.telemetry);
178
75
  const res = {
179
- departures: new PIDDeparturesModel(results, {
76
+ departures: new PIDDepartureModel_1.default(results, {
180
77
  limit: options.limit,
181
78
  offset: options.offset || 0,
182
79
  total: options.total,
@@ -185,6 +82,7 @@ class PIDDepartureBoardsModel {
185
82
  filter,
186
83
  skip,
187
84
  departuresDirections,
85
+ timezone: options.timezone,
188
86
  }).toArray(),
189
87
  infotexts: infotextsToInclude,
190
88
  stops: stopsToInclude,
@@ -1 +1 @@
1
- {"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { IPIDDeparture } from "../..";
2
+ import IPIDDepartureQueryOptions from "./interfaces/IPIDDepartureQueryOptions";
3
+ export default class PIDDeparturesModel {
4
+ private departures;
5
+ private options;
6
+ constructor(departures: IPIDDeparture[], options: IPIDDepartureQueryOptions);
7
+ toArray: () => any;
8
+ /** Skips, sorts, order, limit and returns departures in array
9
+ * @returns This departures
10
+ */
11
+ private toArrayInternal;
12
+ /** Orders departures in special way by given options
13
+ */
14
+ private filterAndLimit;
15
+ /** Skips departures by given options
16
+ */
17
+ private skip;
18
+ /** Sorts by proper datetime by given options
19
+ */
20
+ private sort;
21
+ /** Fills direction with proper value based on departure direction ruls
22
+ */
23
+ private addDirections;
24
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const pid_1 = require("../..");
7
+ const DepartureBoardMapper_1 = __importDefault(require("../../helpers/DepartureBoardMapper"));
8
+ class PIDDeparturesModel {
9
+ constructor(departures, options) {
10
+ this.toArray = () => {
11
+ this.toArrayInternal();
12
+ return DepartureBoardMapper_1.default.mapDepartures(this, this.options.timezone, this.options.mode);
13
+ };
14
+ /** Skips, sorts, order, limit and returns departures in array
15
+ * @returns This departures
16
+ */
17
+ this.toArrayInternal = () => {
18
+ this.skip();
19
+ this.sort();
20
+ this.filterAndLimit();
21
+ this.sort();
22
+ this.addDirections();
23
+ return this.departures;
24
+ };
25
+ /** Orders departures in special way by given options
26
+ */
27
+ this.filterAndLimit = () => {
28
+ let finalDepartures = { once: this.departures, fill: [] };
29
+ if (this.options.filter === pid_1.DepartureFilter.ROUTE_ONCE || this.options.filter === pid_1.DepartureFilter.ROUTE_ONCE_FILL) {
30
+ finalDepartures = this.departures.reduce((acc, currentDeparture) => {
31
+ // only the first departure to respone for trips with same route_id
32
+ if (!acc.once.find((e) => e.route_id === currentDeparture.route_id)) {
33
+ acc.once.push(currentDeparture);
34
+ }
35
+ else {
36
+ acc.fill.push(currentDeparture);
37
+ }
38
+ return acc;
39
+ }, { once: [], fill: [] });
40
+ }
41
+ else if (this.options.filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE ||
42
+ this.options.filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_FILL) {
43
+ finalDepartures = this.departures.reduce((acc, currentDeparture) => {
44
+ // only the first departure to respone for trips with same route_id
45
+ if (!acc.once.find((e) => e.route_id === currentDeparture.route_id &&
46
+ (currentDeparture.stop_headsign
47
+ ? e.stop_headsign === currentDeparture.stop_headsign
48
+ : e.trip_headsign === currentDeparture.trip_headsign))) {
49
+ acc.once.push(currentDeparture);
50
+ }
51
+ else {
52
+ acc.fill.push(currentDeparture);
53
+ }
54
+ return acc;
55
+ }, { once: [], fill: [] });
56
+ }
57
+ if (this.options.filter === pid_1.DepartureFilter.ROUTE_ONCE_FILL ||
58
+ this.options.filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_FILL) {
59
+ // return all once in limit and if still under limit fill it with others
60
+ this.departures = finalDepartures.once
61
+ .slice(0, this.options.total)
62
+ .concat(finalDepartures.fill.slice(0, this.options.total - Math.min(finalDepartures.once.length, this.options.total)))
63
+ .slice(this.options.offset, this.options.offset + this.options.limit);
64
+ }
65
+ else {
66
+ this.departures = finalDepartures.once
67
+ .slice(0, this.options.total)
68
+ .slice(this.options.offset, this.options.offset + this.options.limit);
69
+ }
70
+ };
71
+ /** Skips departures by given options
72
+ */
73
+ this.skip = () => {
74
+ this.departures = this.departures.filter((departure) => {
75
+ return !((this.options.skip.includes(pid_1.DepartureSkip.UNTRACKED) && !departure.is_delay_available) ||
76
+ (this.options.skip.includes(pid_1.DepartureSkip.CANCELED) && departure.is_canceled) ||
77
+ (this.options.skip.includes(pid_1.DepartureSkip.AT_STOP) &&
78
+ departure.stop_sequence === departure["trip.last_position.this_stop_sequence"]));
79
+ });
80
+ };
81
+ /** Sorts by proper datetime by given options
82
+ */
83
+ this.sort = () => {
84
+ const datetimeToOrder = this.options.mode === pid_1.DepartureMode.ARRIVALS
85
+ ? this.options.order === pid_1.DepartureOrder.REAL
86
+ ? "arrival_datetime_real"
87
+ : "arrival_datetime"
88
+ : this.options.order === pid_1.DepartureOrder.REAL
89
+ ? "departure_datetime_real"
90
+ : "departure_datetime";
91
+ this.departures = this.departures.sort((a, b) => a[datetimeToOrder].getTime() - b[datetimeToOrder].getTime());
92
+ };
93
+ /** Fills direction with proper value based on departure direction ruls
94
+ */
95
+ this.addDirections = () => {
96
+ this.departures.forEach((departure) => {
97
+ departure.direction = departure.direction || null;
98
+ const thisStopDeparturesDirections = this.options.departuresDirections.filter((departuresDirection) => departuresDirection.departure_stop_id === departure.stop_id);
99
+ if (thisStopDeparturesDirections.length > 0) {
100
+ for (const thisStopDeparturesDirection of thisStopDeparturesDirections) {
101
+ if (departure.stop_id === thisStopDeparturesDirection.departure_stop_id &&
102
+ departure.next_stop_id.match(thisStopDeparturesDirection.next_stop_id_regexp)) {
103
+ departure.direction = thisStopDeparturesDirection.direction;
104
+ }
105
+ }
106
+ }
107
+ });
108
+ };
109
+ this.departures = departures;
110
+ this.options = options;
111
+ }
112
+ }
113
+ exports.default = PIDDeparturesModel;
114
+ //# sourceMappingURL=PIDDepartureModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PIDDepartureModel.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/PIDDepartureModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { DepartureFilter, DepartureMode, DepartureOrder, DepartureSkip } from "../../..";
2
+ import { IRopidDeparturesDirectionsOutput } from "../../../../../schema-definitions/ropid-departures-directions";
3
+ export default interface IPIDDepartureQueryOptions {
4
+ limit: number;
5
+ offset: number;
6
+ total: number;
7
+ mode: DepartureMode;
8
+ order: DepartureOrder;
9
+ filter: DepartureFilter;
10
+ skip: DepartureSkip[];
11
+ departuresDirections: IRopidDeparturesDirectionsOutput[];
12
+ timezone: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPIDDepartureQueryOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPIDDepartureQueryOptions.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/pid/models/helpers/interfaces/IPIDDepartureQueryOptions.ts"],"names":[],"mappings":""}
@@ -52,7 +52,7 @@ class GTFSStopModel extends models_1.SequelizeModel {
52
52
  where = sequelize_1.default.where(distance, "<=", range);
53
53
  }
54
54
  }
55
- if (aswIds || cisIds) {
55
+ if ((aswIds && (aswIds === null || aswIds === void 0 ? void 0 : aswIds.length) > 0) || (cisIds && (cisIds === null || cisIds === void 0 ? void 0 : cisIds.length) > 0)) {
56
56
  const ors = [];
57
57
  if (aswIds && (aswIds === null || aswIds === void 0 ? void 0 : aswIds.length) > 0) {
58
58
  aswIds.forEach((d) => {
@@ -100,9 +100,11 @@ class GTFSStopModel extends models_1.SequelizeModel {
100
100
  gtfsIds === null || gtfsIds === void 0 ? void 0 : gtfsIds.forEach((stop) => {
101
101
  allGtfsIds.push("(^" + stop + "$)");
102
102
  });
103
- where.stop_id = {
104
- [sequelize_1.default.Op.regexp]: allGtfsIds.join("|"),
105
- };
103
+ if (allGtfsIds.length > 0) {
104
+ where.stop_id = {
105
+ [sequelize_1.default.Op.regexp]: allGtfsIds.join("|"),
106
+ };
107
+ }
106
108
  if (names && (names === null || names === void 0 ? void 0 : names.length) > 0) {
107
109
  where.stop_name = names;
108
110
  }