gtfs 4.16.0 → 4.17.0
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/dist/bin/gtfs-export.js +25 -4
- package/dist/bin/gtfs-export.js.map +1 -1
- package/dist/bin/gtfs-import.js +30 -9
- package/dist/bin/gtfs-import.js.map +1 -1
- package/dist/bin/gtfsrealtime-update.js +30 -9
- package/dist/bin/gtfsrealtime-update.js.map +1 -1
- package/dist/index.js +32 -11
- package/dist/index.js.map +1 -1
- package/dist/models/models.d.ts +2 -2
- package/dist/models/models.js +25 -4
- package/dist/models/models.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -54,7 +54,7 @@ __export(models_exports, {
|
|
|
54
54
|
routes: () => routes,
|
|
55
55
|
runEvents: () => runEvents,
|
|
56
56
|
runsPieces: () => runsPieces,
|
|
57
|
-
|
|
57
|
+
serviceAlertInformedEntities: () => serviceAlertInformedEntities,
|
|
58
58
|
serviceAlerts: () => serviceAlerts,
|
|
59
59
|
shapes: () => shapes,
|
|
60
60
|
stopAreas: () => stopAreas,
|
|
@@ -2761,9 +2761,9 @@ var serviceAlerts = {
|
|
|
2761
2761
|
]
|
|
2762
2762
|
};
|
|
2763
2763
|
|
|
2764
|
-
// src/models/gtfs-realtime/service-alert-
|
|
2765
|
-
var
|
|
2766
|
-
filenameBase: "
|
|
2764
|
+
// src/models/gtfs-realtime/service-alert-informed_entities.ts
|
|
2765
|
+
var serviceAlertInformedEntities = {
|
|
2766
|
+
filenameBase: "service_alert_informed_entities",
|
|
2767
2767
|
extension: "gtfs-realtime",
|
|
2768
2768
|
schema: [
|
|
2769
2769
|
{
|
|
@@ -2787,6 +2787,27 @@ var serviceAlertTargets = {
|
|
|
2787
2787
|
source: "routeId",
|
|
2788
2788
|
default: null
|
|
2789
2789
|
},
|
|
2790
|
+
{
|
|
2791
|
+
name: "route_type",
|
|
2792
|
+
type: "integer",
|
|
2793
|
+
index: true,
|
|
2794
|
+
source: "routeType",
|
|
2795
|
+
default: null
|
|
2796
|
+
},
|
|
2797
|
+
{
|
|
2798
|
+
name: "trip_id",
|
|
2799
|
+
type: "text",
|
|
2800
|
+
index: true,
|
|
2801
|
+
source: "trip.tripId",
|
|
2802
|
+
default: null
|
|
2803
|
+
},
|
|
2804
|
+
{
|
|
2805
|
+
name: "direction_id",
|
|
2806
|
+
type: "integer",
|
|
2807
|
+
index: true,
|
|
2808
|
+
source: "directionId",
|
|
2809
|
+
default: null
|
|
2810
|
+
},
|
|
2790
2811
|
{
|
|
2791
2812
|
name: "created_timestamp",
|
|
2792
2813
|
type: "integer",
|
|
@@ -3581,7 +3602,7 @@ async function fetchGtfsRealtimeData(urlConfig, task) {
|
|
|
3581
3602
|
enums: String,
|
|
3582
3603
|
longs: String,
|
|
3583
3604
|
bytes: String,
|
|
3584
|
-
defaults:
|
|
3605
|
+
defaults: false,
|
|
3585
3606
|
arrays: true,
|
|
3586
3607
|
objects: true,
|
|
3587
3608
|
oneofs: true
|
|
@@ -3603,7 +3624,7 @@ function removeExpiredRealtimeData(config) {
|
|
|
3603
3624
|
`DELETE FROM service_alerts WHERE expiration_timestamp <= strftime('%s','now')`
|
|
3604
3625
|
).run();
|
|
3605
3626
|
db.prepare(
|
|
3606
|
-
`DELETE FROM
|
|
3627
|
+
`DELETE FROM service_alert_informed_entities WHERE expiration_timestamp <= strftime('%s','now')`
|
|
3607
3628
|
).run();
|
|
3608
3629
|
log(config)(`Removed expired GTFS-Realtime data\r`, true);
|
|
3609
3630
|
}
|
|
@@ -3639,18 +3660,18 @@ async function processRealtimeAlerts(db, gtfsRealtimeData, task) {
|
|
|
3639
3660
|
`Import error: No informed entities found for alert id=${entity.id}`
|
|
3640
3661
|
);
|
|
3641
3662
|
} else {
|
|
3642
|
-
const
|
|
3663
|
+
const informedEntities = [];
|
|
3643
3664
|
for (const informedEntity of entity.alert.informedEntity) {
|
|
3644
3665
|
informedEntity.parent = entity;
|
|
3645
|
-
const subValues =
|
|
3666
|
+
const subValues = serviceAlertInformedEntities.schema.map(
|
|
3646
3667
|
(column) => prepareRealtimeFieldValue(informedEntity, column, task)
|
|
3647
3668
|
);
|
|
3648
|
-
|
|
3669
|
+
informedEntities.push(`(${subValues.join(", ")})`);
|
|
3649
3670
|
totalLineCount++;
|
|
3650
3671
|
}
|
|
3651
3672
|
try {
|
|
3652
3673
|
db.prepare(
|
|
3653
|
-
`REPLACE INTO ${
|
|
3674
|
+
`REPLACE INTO ${serviceAlertInformedEntities.filenameBase} (${serviceAlertInformedEntities.schema.map((column) => column.name).join(", ")}) VALUES ${informedEntities.join(", ")}`
|
|
3654
3675
|
).run();
|
|
3655
3676
|
} catch (error) {
|
|
3656
3677
|
task.logWarning(`Import error: ${error.message}`);
|
|
@@ -5195,7 +5216,7 @@ function getVehiclePositions(query = {}, fields = [], orderBy2 = [], options = {
|
|
|
5195
5216
|
function getServiceAlerts(query = {}, fields = [], orderBy2 = [], options = {}) {
|
|
5196
5217
|
const db = options.db ?? openDb();
|
|
5197
5218
|
const tableName = "service_alerts";
|
|
5198
|
-
const joinTableName = "
|
|
5219
|
+
const joinTableName = "service_alert_informed_entities";
|
|
5199
5220
|
const selectClause = formatSelectClause(fields);
|
|
5200
5221
|
const whereClause = formatWhereClauses(query);
|
|
5201
5222
|
const orderByClause = formatOrderByClause(orderBy2);
|