@golemio/public-transport 0.1.0-dev.2901322475 → 0.1.0-dev.2917905541

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/db/migrations/postgresql/20261006000000-add-mpv-url-to-gtfs-feeds.js +53 -0
  2. package/db/migrations/postgresql/sqls/20261006000000-add-mpv-url-to-gtfs-feeds-down.sql +1 -0
  3. package/db/migrations/postgresql/sqls/20261006000000-add-mpv-url-to-gtfs-feeds-up.sql +3 -0
  4. package/dist/integration-engine/gtfs/data-access/GtfsFeedRepository.d.ts +5 -0
  5. package/dist/integration-engine/gtfs/data-access/GtfsFeedRepository.js +12 -0
  6. package/dist/integration-engine/gtfs/data-access/GtfsFeedRepository.js.map +1 -1
  7. package/dist/integration-engine/vehicle-positions/ioc/Di.js +4 -0
  8. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  9. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +2 -0
  10. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +2 -0
  11. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +1 -0
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/datasources/mpv/MpvXmlDataSourceFactory.d.ts +11 -0
  15. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/datasources/mpv/MpvXmlDataSourceFactory.js +35 -0
  16. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/datasources/mpv/MpvXmlDataSourceFactory.js.map +1 -0
  17. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IMpvPollInput.d.ts +3 -0
  18. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IMpvPollInput.js +3 -0
  19. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IMpvPollInput.js.map +1 -0
  20. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/MpvPollSchema.d.ts +4 -0
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/MpvPollSchema.js +22 -0
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/MpvPollSchema.js.map +1 -0
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/MpvPollTask.d.ts +26 -0
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/MpvPollTask.js +87 -0
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/MpvPollTask.js.map +1 -0
  26. package/dist/output-gateway/gtfs/models/GTFSShapesModel.d.ts +6 -0
  27. package/dist/output-gateway/gtfs/models/GTFSShapesModel.js +10 -0
  28. package/dist/output-gateway/gtfs/models/GTFSShapesModel.js.map +1 -1
  29. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.d.ts +4 -1
  30. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js +20 -12
  31. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js.map +1 -1
  32. package/docs/follow-ups.md +9 -7
  33. package/docs/implementation_documentation.md +24 -0
  34. 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', '20261006000000-add-mpv-url-to-gtfs-feeds-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', '20261006000000-add-mpv-url-to-gtfs-feeds-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
+ ALTER TABLE public_transport.gtfs_feeds DROP COLUMN mpv_url;
@@ -0,0 +1,3 @@
1
+ -- Per-feed MPV XML vehicle-positions source URL, polled by MpvPollTask. NULL for feeds that push
2
+ -- their MPV data to the input gateway (or have no MPV source at all).
3
+ ALTER TABLE public_transport.gtfs_feeds ADD COLUMN mpv_url varchar(2048) NULL;
@@ -5,6 +5,10 @@ export interface IGtfsFeedWithRtUrl {
5
5
  timezone: string | null;
6
6
  gtfsRtUrl: string;
7
7
  }
8
+ export interface IGtfsFeedWithMpvUrl {
9
+ code: string;
10
+ mpvUrl: string;
11
+ }
8
12
  /**
9
13
  * Resolves feed_id values from the gtfs_feeds registry table.
10
14
  */
@@ -18,4 +22,5 @@ export declare class GtfsFeedRepository {
18
22
  code: string;
19
23
  }>>;
20
24
  getFeedsWithGtfsRtUrl: () => Promise<IGtfsFeedWithRtUrl[]>;
25
+ getFeedsWithMpvUrl: () => Promise<IGtfsFeedWithMpvUrl[]>;
21
26
  }
@@ -84,6 +84,18 @@ let GtfsFeedRepository = class GtfsFeedRepository {
84
84
  throw new golemio_errors_1.GeneralError("Could not list gtfs_feeds rows with a configured GTFS-RT URL", this.constructor.name, err);
85
85
  }
86
86
  };
87
+ this.getFeedsWithMpvUrl = async () => {
88
+ try {
89
+ const connection = this.connector.getConnection();
90
+ const result = await connection.query(`SELECT code, mpv_url FROM "${const_1.PG_SCHEMA}".gtfs_feeds WHERE mpv_url IS NOT NULL;`, {
91
+ type: sequelize_1.default.QueryTypes.SELECT,
92
+ });
93
+ return result.map((row) => ({ code: row.code, mpvUrl: row.mpv_url }));
94
+ }
95
+ catch (err) {
96
+ throw new golemio_errors_1.GeneralError("Could not list gtfs_feeds rows with a configured MPV URL", this.constructor.name, err);
97
+ }
98
+ };
87
99
  }
88
100
  };
89
101
  exports.GtfsFeedRepository = GtfsFeedRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"GtfsFeedRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/gtfs/data-access/GtfsFeedRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GtfsFeedRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/gtfs/data-access/GtfsFeedRepository.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,8 @@ const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks
50
50
  const GtfsRtProtobufDataTypeStrategy_1 = require("../workers/vehicle-positions/datasources/gtfs-rt/GtfsRtProtobufDataTypeStrategy");
51
51
  const DataRetentionTask_1 = require("../workers/vehicle-positions/tasks/DataRetentionTask");
52
52
  const GtfsRtPollTask_1 = require("../workers/vehicle-positions/tasks/GtfsRtPollTask");
53
+ const MpvPollTask_1 = require("../workers/vehicle-positions/tasks/MpvPollTask");
54
+ const MpvXmlDataSourceFactory_1 = require("../workers/vehicle-positions/datasources/mpv/MpvXmlDataSourceFactory");
53
55
  const ProcessRegionalBusPositionsTask_1 = require("../workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask");
54
56
  const PropagateDelayTask_1 = require("../workers/vehicle-positions/tasks/PropagateDelayTask");
55
57
  const PropagateTrainDelayTask_1 = require("../workers/vehicle-positions/tasks/PropagateTrainDelayTask");
@@ -128,6 +130,7 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsTripRegion
128
130
  VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
129
131
  VPContainer.register(VPContainerToken_1.VPContainerToken.MpvMessageTransformation, MpvMessageTransformation_1.MpvMessageTransformation);
130
132
  VPContainer.register(VPContainerToken_1.VPContainerToken.GtfsRtDataSourceFactory, GtfsRtProtobufDataTypeStrategy_1.GtfsRtDataSourceFactory);
133
+ VPContainer.register(VPContainerToken_1.VPContainerToken.MpvXmlDataSourceFactory, MpvXmlDataSourceFactory_1.MpvXmlDataSourceFactory);
131
134
  VPContainer.register(VPContainerToken_1.VPContainerToken.GtfsTripsModel, GtfsTripsModel_1.GtfsTripsModel);
132
135
  VPContainer.register(VPContainerToken_1.VPContainerToken.GtfsStopTimesModel, GtfsStopTimesModel_1.GtfsStopTimesModel);
133
136
  VPContainer.register(VPContainerToken_1.VPContainerToken.GtfsCisStopsModel, GtfsCisStopsModel_1.GtfsCisStopsModel);
@@ -159,6 +162,7 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.PropagateDelay
159
162
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.PropagateTrainDelayTask, PropagateTrainDelayTask_1.PropagateTrainDelayTask);
160
163
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveDataToDBTask, SaveDataToDBTask_1.SaveDataToDBTask);
161
164
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsRtPollTask, GtfsRtPollTask_1.GtfsRtPollTask);
165
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MpvPollTask, MpvPollTask_1.MpvPollTask);
162
166
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.UpdateDelayTask, UpdateDelayTask_1.UpdateDelayTask);
163
167
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.UpdateGtfsTripIdTask, UpdateGtfsTripIdTask_1.UpdateGtfsTripIdTask);
164
168
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.UpdateRunsGtfsTripIdTask, UpdateRunsGtfsTripIdTask_1.UpdateRunsGtfsTripIdTask);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ declare const VPContainerToken: {
50
50
  ValidToCalculator: symbol;
51
51
  MpvMessageTransformation: symbol;
52
52
  GtfsRtDataSourceFactory: symbol;
53
+ MpvXmlDataSourceFactory: symbol;
53
54
  GtfsTripsModel: symbol;
54
55
  GtfsStopTimesModel: symbol;
55
56
  GtfsCisStopsModel: symbol;
@@ -64,6 +65,7 @@ declare const VPContainerToken: {
64
65
  PropagateTrainDelayTask: symbol;
65
66
  SaveDataToDBTask: symbol;
66
67
  GtfsRtPollTask: symbol;
68
+ MpvPollTask: symbol;
67
69
  UpdateDelayTask: symbol;
68
70
  UpdateGtfsTripIdTask: symbol;
69
71
  UpdateRunsGtfsTripIdTask: symbol;
@@ -63,6 +63,7 @@ const VPContainerToken = {
63
63
  ValidToCalculator: Symbol("ValidToCalculator"),
64
64
  MpvMessageTransformation: Symbol("MpvMessageTransformation"),
65
65
  GtfsRtDataSourceFactory: Symbol("GtfsRtDataSourceFactory"),
66
+ MpvXmlDataSourceFactory: Symbol("MpvXmlDataSourceFactory"),
66
67
  //#endregion
67
68
  //#region ExternalModels
68
69
  GtfsTripsModel: Symbol("GtfsTripsModel"),
@@ -81,6 +82,7 @@ const VPContainerToken = {
81
82
  PropagateTrainDelayTask: Symbol("PropagateTrainDelayTask"),
82
83
  SaveDataToDBTask: Symbol("SaveDataToDBTask"),
83
84
  GtfsRtPollTask: Symbol("GtfsRtPollTask"),
85
+ MpvPollTask: Symbol("MpvPollTask"),
84
86
  UpdateDelayTask: Symbol("UpdateDelayTask"),
85
87
  UpdateGtfsTripIdTask: Symbol("UpdateGtfsTripIdTask"),
86
88
  UpdateRunsGtfsTripIdTask: Symbol("UpdateRunsGtfsTripIdTask"),
@@ -1 +1 @@
1
- {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ class VPWorker extends workers_1.AbstractWorker {
19
19
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshGtfsTripDataTask));
20
20
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.SaveDataToDBTask));
21
21
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.GtfsRtPollTask));
22
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.MpvPollTask));
22
23
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.UpdateGtfsTripIdTask));
23
24
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.UpdateRunsGtfsTripIdTask));
24
25
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.UpdateDelayTask));
@@ -1 +1 @@
1
- {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAc1C,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAoBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAlBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA6B,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAiC,mCAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA0B,mCAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAmB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAiB,mCAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA2B,mCAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAkB,mCAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAkC,mCAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAqB,mCAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA0B,mCAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAoB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClG,CAAC;CAMJ;AAzBD,4BAyBC"}
1
+ {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAe1C,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAqBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAnBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA6B,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAiC,mCAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA0B,mCAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAmB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAiB,mCAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAc,mCAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA2B,mCAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAkB,mCAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAkC,mCAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAqB,mCAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA0B,mCAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAoB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClG,CAAC;CAMJ;AA1BD,4BA0BC"}
@@ -0,0 +1,11 @@
1
+ import { IMpvMessageInput } from "../../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
2
+ import { IDataSource } from "@golemio/core/dist/integration-engine";
3
+ /**
4
+ * Constructs a DataSource per feed at task-execution time for a polled MPV XML endpoint. The URL is a
5
+ * gtfs_feeds row value, so (like GtfsRtDataSourceFactory) it cannot be built once and registered in DI.
6
+ * Default xml2js options yield the same `{ m: { spoj: [{ $, zast: [{ $ }] }] } }` shape the input
7
+ * gateway produces for pushed MPV XML, so the result can go straight to saveDataToDB.
8
+ */
9
+ export declare class MpvXmlDataSourceFactory {
10
+ create(url: string): IDataSource<IMpvMessageInput>;
11
+ }
@@ -0,0 +1,35 @@
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.MpvXmlDataSourceFactory = void 0;
10
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
11
+ const XMLDataTypeStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/datatype-strategy/XMLDataTypeStrategy");
12
+ const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
13
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
14
+ /**
15
+ * Constructs a DataSource per feed at task-execution time for a polled MPV XML endpoint. The URL is a
16
+ * gtfs_feeds row value, so (like GtfsRtDataSourceFactory) it cannot be built once and registered in DI.
17
+ * Default xml2js options yield the same `{ m: { spoj: [{ $, zast: [{ $ }] }] } }` shape the input
18
+ * gateway produces for pushed MPV XML, so the result can go straight to saveDataToDB.
19
+ */
20
+ let MpvXmlDataSourceFactory = class MpvXmlDataSourceFactory {
21
+ create(url) {
22
+ return new integration_engine_1.DataSource("MpvPollDataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
23
+ method: "GET",
24
+ url,
25
+ responseType: "text",
26
+ // the source answers in well under a second; fail before the next 5 s poll fires
27
+ timeoutInSeconds: 4,
28
+ }), new XMLDataTypeStrategy_1.XMLDataTypeStrategy({ resultsPath: "", xml2jsParams: {} }), null);
29
+ }
30
+ };
31
+ exports.MpvXmlDataSourceFactory = MpvXmlDataSourceFactory;
32
+ exports.MpvXmlDataSourceFactory = MpvXmlDataSourceFactory = __decorate([
33
+ (0, tsyringe_1.injectable)()
34
+ ], MpvXmlDataSourceFactory);
35
+ //# sourceMappingURL=MpvXmlDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MpvXmlDataSourceFactory.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/datasources/mpv/MpvXmlDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;AACA,8EAAgF;AAChF,iIAA8H;AAC9H,6IAA0I;AAC1I,iEAAgE;AAEhE;;;;;GAKG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACzB,MAAM,CAAC,GAAW;QACrB,OAAO,IAAI,+BAAU,CACjB,mBAAmB,EACnB,IAAI,qDAAyB,CAAC;YAC1B,MAAM,EAAE,KAAK;YACb,GAAG;YACH,YAAY,EAAE,MAAM;YACpB,iFAAiF;YACjF,gBAAgB,EAAE,CAAC;SACtB,CAAC,EACF,IAAI,yCAAmB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAC9D,IAAI,CACP,CAAC;IACN,CAAC;CACJ,CAAA;AAfY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,qBAAU,GAAE;GACA,uBAAuB,CAenC"}
@@ -0,0 +1,3 @@
1
+ export interface IMpvPollInput {
2
+ feedCode?: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMpvPollInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMpvPollInput.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IMpvPollInput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IMpvPollInput } from "../interfaces/IMpvPollInput";
2
+ export declare class MpvPollValidation implements IMpvPollInput {
3
+ feedCode?: string;
4
+ }
@@ -0,0 +1,22 @@
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.MpvPollValidation = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ class MpvPollValidation {
15
+ }
16
+ exports.MpvPollValidation = MpvPollValidation;
17
+ __decorate([
18
+ (0, class_validator_1.IsOptional)(),
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], MpvPollValidation.prototype, "feedCode", void 0);
22
+ //# sourceMappingURL=MpvPollSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MpvPollSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/MpvPollSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAiF;AAGjF,MAAa,iBAAiB;CAI7B;AAJD,8CAIC;AADG;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACO"}
@@ -0,0 +1,26 @@
1
+ import type { GtfsFeedRepository } from "../../../../gtfs/data-access/GtfsFeedRepository";
2
+ import { ILogger } from "@golemio/core/dist/helpers";
3
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
4
+ import { MpvXmlDataSourceFactory } from "../datasources/mpv/MpvXmlDataSourceFactory";
5
+ import { IMpvPollInput } from "../interfaces/IMpvPollInput";
6
+ import { MpvPollValidation } from "../schema/MpvPollSchema";
7
+ /**
8
+ * Polls each feed's own MPV XML endpoint (gtfs_feeds.mpv_url) and hands the parsed positions to
9
+ * saveDataToDB under the feed's code -- the pull counterpart of the input gateway's MPV push endpoint,
10
+ * so everything downstream (GTFS trip matching, delay computation) is the same pipeline.
11
+ */
12
+ export declare class MpvPollTask extends AbstractTask<IMpvPollInput> {
13
+ private readonly feedRepository;
14
+ private readonly dataSourceFactory;
15
+ private readonly logger;
16
+ readonly queueName = "pollMpvPositions";
17
+ readonly queueTtl: number;
18
+ readonly schema: typeof MpvPollValidation;
19
+ constructor(feedRepository: GtfsFeedRepository, dataSourceFactory: MpvXmlDataSourceFactory, logger: ILogger);
20
+ protected execute(data: IMpvPollInput): Promise<void>;
21
+ private pollFeed;
22
+ /**
23
+ * An MPV message without any trip parses to `{ m: "" }` or `{ m: { $ } }` (no `spoj` key).
24
+ */
25
+ private getPositions;
26
+ }
@@ -0,0 +1,87 @@
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.MpvPollTask = void 0;
16
+ const ModuleContainerToken_1 = require("../../../../ioc/ModuleContainerToken");
17
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
18
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
19
+ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
20
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
21
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ const constants_1 = require("../constants");
24
+ const MpvXmlDataSourceFactory_1 = require("../datasources/mpv/MpvXmlDataSourceFactory");
25
+ const MpvPollSchema_1 = require("../schema/MpvPollSchema");
26
+ // same default batch size as the input gateway's MPV push endpoint
27
+ const SAVE_DATA_BATCH_SIZE = 500;
28
+ /**
29
+ * Polls each feed's own MPV XML endpoint (gtfs_feeds.mpv_url) and hands the parsed positions to
30
+ * saveDataToDB under the feed's code -- the pull counterpart of the input gateway's MPV push endpoint,
31
+ * so everything downstream (GTFS trip matching, delay computation) is the same pipeline.
32
+ */
33
+ let MpvPollTask = class MpvPollTask extends workers_1.AbstractTask {
34
+ constructor(feedRepository, dataSourceFactory, logger) {
35
+ super(constants_1.WORKER_NAME);
36
+ this.feedRepository = feedRepository;
37
+ this.dataSourceFactory = dataSourceFactory;
38
+ this.logger = logger;
39
+ this.queueName = "pollMpvPositions";
40
+ this.queueTtl = 15 * 1000; // 15 seconds, newer polls are already queued behind an older message
41
+ this.schema = MpvPollSchema_1.MpvPollValidation;
42
+ }
43
+ async execute(data) {
44
+ const feeds = await this.feedRepository.getFeedsWithMpvUrl();
45
+ const feedsToPoll = data.feedCode ? feeds.filter((feed) => feed.code === data.feedCode) : feeds;
46
+ for (const feed of feedsToPoll) {
47
+ await this.pollFeed(feed);
48
+ }
49
+ }
50
+ async pollFeed(feed) {
51
+ try {
52
+ const message = await this.dataSourceFactory.create(feed.mpvUrl).getAll();
53
+ const positions = this.getPositions(message);
54
+ for (let i = 0; i < positions.length; i += SAVE_DATA_BATCH_SIZE) {
55
+ const batch = {
56
+ m: { spoj: positions.slice(i, i + SAVE_DATA_BATCH_SIZE) },
57
+ feedCode: feed.code,
58
+ };
59
+ await queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "saveDataToDB", batch, {
60
+ timestamp: Date.now(),
61
+ });
62
+ }
63
+ }
64
+ catch (err) {
65
+ this.logger.error(new golemio_errors_1.GeneralError(`Failed to poll MPV feed for "${feed.code}".`, this.constructor.name, err));
66
+ }
67
+ }
68
+ /**
69
+ * An MPV message without any trip parses to `{ m: "" }` or `{ m: { $ } }` (no `spoj` key).
70
+ */
71
+ getPositions(message) {
72
+ const spoj = typeof message?.m === "object" ? message.m.spoj : undefined;
73
+ if (!spoj) {
74
+ return [];
75
+ }
76
+ return Array.isArray(spoj) ? spoj : [spoj];
77
+ }
78
+ };
79
+ exports.MpvPollTask = MpvPollTask;
80
+ exports.MpvPollTask = MpvPollTask = __decorate([
81
+ (0, tsyringe_1.injectable)(),
82
+ __param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.GtfsFeedRepository)),
83
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.MpvXmlDataSourceFactory)),
84
+ __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
85
+ __metadata("design:paramtypes", [Function, MpvXmlDataSourceFactory_1.MpvXmlDataSourceFactory, Object])
86
+ ], MpvPollTask);
87
+ //# sourceMappingURL=MpvPollTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MpvPollTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/MpvPollTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+EAAoE;AACpE,oEAA8E;AAG9E,wEAAqE;AACrE,2FAAqF;AACrF,2EAA6E;AAC7E,6EAAwE;AACxE,iEAAwE;AACxE,4CAA2C;AAC3C,wFAAqF;AAErF,2DAA4D;AAE5D,mEAAmE;AACnE,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC;;;;GAIG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,sBAA2B;IAKxD,YACqD,cAAmD,EAClD,iBAA2D,EACnF,MAAgC;QAE1D,KAAK,CAAC,uBAAW,CAAC,CAAC;QAJ+C,mBAAc,GAAd,cAAc,CAAoB;QACjC,sBAAiB,GAAjB,iBAAiB,CAAyB;QAClE,WAAM,GAAN,MAAM,CAAS;QAP9C,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,qEAAqE;QAC3F,WAAM,GAAG,iCAAiB,CAAC;IAQ3C,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAmB;QACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAyB;QAC5C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAqB;oBAC5B,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,EAAE;oBACzD,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACtB,CAAC;gBACF,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE;oBAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,6BAAY,CAAC,gCAAgC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACnH,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAA4C;QAC7D,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAA;AAjDY,kCAAW;sBAAX,WAAW;IADvB,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC/C,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,uBAAuB,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;+CAD6D,iDAAuB;GAPxG,WAAW,CAiDvB"}
@@ -1,3 +1,4 @@
1
+ import { IShapeDto } from "../../../schema-definitions/gtfs/interfaces/IShapeDto";
1
2
  import { SequelizeModel } from "@golemio/core/dist/output-gateway";
2
3
  import { Feature, LineString } from "@golemio/core/dist/shared/geojson";
3
4
  import { IGTFSModels } from "./interfaces/IGTFSModels";
@@ -28,6 +29,11 @@ export declare class GTFSShapesModel extends SequelizeModel {
28
29
  id: string;
29
30
  feedId?: number;
30
31
  }) => Promise<ShapeLineStringFeature | null>;
32
+ /** Retrieves the points of one feed's shape in vertex order, empty when the shape does not exist */
33
+ GetOrderedPoints: (options: {
34
+ id: string;
35
+ feedId: number;
36
+ }) => Promise<IShapeDto[]>;
31
37
  GetOne: (id: number) => Promise<object | null>;
32
38
  private findOrderedPoints;
33
39
  }
@@ -58,6 +58,16 @@ class GTFSShapesModel extends output_gateway_1.SequelizeModel {
58
58
  throw new golemio_errors_1.GeneralError("Database error ~ GetLineString", "GTFSShapesModel", err, 500);
59
59
  }
60
60
  };
61
+ /** Retrieves the points of one feed's shape in vertex order, empty when the shape does not exist */
62
+ this.GetOrderedPoints = async (options) => {
63
+ try {
64
+ const data = await this.findOrderedPoints(options);
65
+ return data.map((point) => point.get({ plain: true }));
66
+ }
67
+ catch (err) {
68
+ throw new golemio_errors_1.GeneralError("Database error ~ GetOrderedPoints", "GTFSShapesModel", err, 500);
69
+ }
70
+ };
61
71
  this.GetOne = async (id) => {
62
72
  return null;
63
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GTFSShapesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/gtfs/models/GTFSShapesModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GTFSShapesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/gtfs/models/GTFSShapesModel.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { IPublicApiDetailedTrip } from "../../../../domain/PublicApiDetailedTripInterfaces";
2
2
  import { IDelayComputationRepository } from "../../../../domain/repository/IDelayComputationRepository";
3
+ import { PublicGtfsTripShapesTransformation } from "../../../transformations/gtfs-trip-scopes/PublicGtfsTripShapesTransformation";
3
4
  import { GTFSShapesModel } from "../../../../../gtfs/models/GTFSShapesModel";
4
5
  import { IPublicApiCacheDto } from "../../../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
5
6
  import { AbstractDetailedTripScopeHandler } from "./AbstractDetailedTripScopeHandler";
6
7
  export declare class ShapesTripScopeHandler extends AbstractDetailedTripScopeHandler {
7
8
  private delayComputationRepository;
9
+ private gtfsShapesTransformation;
8
10
  private tripShapesTransformation;
9
11
  protected shapeModel: GTFSShapesModel;
10
- constructor(delayComputationRepository: IDelayComputationRepository);
12
+ constructor(delayComputationRepository: IDelayComputationRepository, gtfsShapesTransformation: PublicGtfsTripShapesTransformation);
11
13
  handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
14
+ private getShapeFeatures;
12
15
  }
@@ -16,37 +16,45 @@ exports.ShapesTripScopeHandler = void 0;
16
16
  const PublicCacheKeys_1 = require("../../../../../../schema-definitions/vehicle-positions/redis/PublicCacheKeys");
17
17
  const OgModuleToken_1 = require("../../../../ioc/OgModuleToken");
18
18
  const PublicVPTripShapesTransformation_1 = require("../../../transformations/scopes/PublicVPTripShapesTransformation");
19
+ const PublicGtfsTripShapesTransformation_1 = require("../../../transformations/gtfs-trip-scopes/PublicGtfsTripShapesTransformation");
19
20
  const models_1 = require("../../../../../gtfs/models");
20
21
  const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
21
22
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
23
  const AbstractDetailedTripScopeHandler_1 = require("./AbstractDetailedTripScopeHandler");
23
24
  let ShapesTripScopeHandler = class ShapesTripScopeHandler extends AbstractDetailedTripScopeHandler_1.AbstractDetailedTripScopeHandler {
24
- constructor(delayComputationRepository) {
25
+ constructor(delayComputationRepository, gtfsShapesTransformation) {
25
26
  super();
26
27
  this.delayComputationRepository = delayComputationRepository;
28
+ this.gtfsShapesTransformation = gtfsShapesTransformation;
27
29
  this.tripShapesTransformation = new PublicVPTripShapesTransformation_1.PublicVPTripShapesTransformation();
28
30
  this.shapeModel = models_1.models.GTFSShapesModel;
29
31
  }
30
32
  async handle(output, vehiclePosition) {
31
33
  // same feed source as DetailedTripFacade: vehicle ids are <feedId>-<feedLocalId>
32
34
  const feedId = PublicCacheKeys_1.PublicCacheKeys.feedIdFromVehicleId(vehiclePosition.vehicle_id);
33
- const delayComputationCache = feedId === null
34
- ? null
35
- : await this.delayComputationRepository.getDelayComputationCacheProperty(feedId, vehiclePosition.gtfs_trip_id, "shapes");
36
- // only CIS/MPV pipelines compute delays (UpdateDelayTask); polled GTFS-RT feeds have none, so the
37
- // scope is empty instead of failing the whole detail response
38
- if (!delayComputationCache) {
39
- output.shapes = (0, Geo_1.buildGeojsonFeatureCollection)([]);
40
- return output;
41
- }
42
- output.shapes = (0, Geo_1.buildGeojsonFeatureCollection)(delayComputationCache.shapes ? this.tripShapesTransformation.transformArray(delayComputationCache.shapes) : []);
35
+ output.shapes = (0, Geo_1.buildGeojsonFeatureCollection)(feedId === null ? [] : await this.getShapeFeatures(feedId, vehiclePosition));
43
36
  return output;
44
37
  }
38
+ async getShapeFeatures(feedId, vehiclePosition) {
39
+ const delayComputationCache = await this.delayComputationRepository.getDelayComputationCacheProperty(feedId, vehiclePosition.gtfs_trip_id, "shapes");
40
+ if (delayComputationCache) {
41
+ return delayComputationCache.shapes ? this.tripShapesTransformation.transformArray(delayComputationCache.shapes) : [];
42
+ }
43
+ // only CIS/MPV pipelines compute delays (UpdateDelayTask); polled GTFS-RT feeds have none, so their
44
+ // shapes come straight from the feed's static GTFS
45
+ const shapeId = vehiclePosition.detailed_info.shape_id;
46
+ if (!shapeId) {
47
+ return [];
48
+ }
49
+ const shapePoints = await this.shapeModel.GetOrderedPoints({ id: shapeId, feedId });
50
+ return this.gtfsShapesTransformation.transformArray(shapePoints);
51
+ }
45
52
  };
46
53
  exports.ShapesTripScopeHandler = ShapesTripScopeHandler;
47
54
  exports.ShapesTripScopeHandler = ShapesTripScopeHandler = __decorate([
48
55
  (0, tsyringe_1.injectable)(),
49
56
  __param(0, (0, tsyringe_1.inject)(OgModuleToken_1.OgModuleToken.DelayComputationRepository)),
50
- __metadata("design:paramtypes", [Object])
57
+ __param(1, (0, tsyringe_1.inject)(OgModuleToken_1.OgModuleToken.PublicGtfsTripShapesTransformation)),
58
+ __metadata("design:paramtypes", [Object, PublicGtfsTripShapesTransformation_1.PublicGtfsTripShapesTransformation])
51
59
  ], ShapesTripScopeHandler);
52
60
  //# sourceMappingURL=ShapesTripScopeHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShapesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,kHAA+E;AAC/E,iEAA6D;AAC7D,uHAA8H;AAC9H,uDAAyC;AAGzC,+DAAsF;AACtF,iEAAwE;AACxE,yFAAsF;AAG/E,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,mEAAgC;IAIxE,YAC8D,0BAAuD;QAEjH,KAAK,EAAE,CAAC;QAFkD,+BAA0B,GAA1B,0BAA0B,CAA6B;QAGjH,IAAI,CAAC,wBAAwB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,eAAM,CAAC,eAAe,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAA8B,EAAE,eAAmC;QACnF,iFAAiF;QACjF,MAAM,MAAM,GAAG,iCAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,qBAAqB,GACvB,MAAM,KAAK,IAAI;YACX,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,gCAAgC,CAClE,MAAM,EACN,eAAe,CAAC,YAAY,EAC5B,QAAQ,CACX,CAAC;QAEZ,kGAAkG;QAClG,8DAA8D;QAC9D,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,GAAG,IAAA,mCAA6B,EAAC,EAAE,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,GAAG,IAAA,mCAA6B,EACzC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACjH,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AArCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,0BAA0B,CAAC,CAAA;;GAL5C,sBAAsB,CAqClC"}
1
+ {"version":3,"file":"ShapesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,kHAA+E;AAC/E,iEAA6D;AAC7D,uHAA8H;AAC9H,qIAA4I;AAC5I,uDAAyC;AAGzC,+DAAuG;AACvG,iEAAwE;AACxE,yFAAsF;AAG/E,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,mEAAgC;IAIxE,YAC8D,0BAAuD,EAEzG,wBAA4D;QAEpE,KAAK,EAAE,CAAC;QAJkD,+BAA0B,GAA1B,0BAA0B,CAA6B;QAEzG,6BAAwB,GAAxB,wBAAwB,CAAoC;QAGpE,IAAI,CAAC,wBAAwB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,eAAM,CAAC,eAAe,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAA8B,EAAE,eAAmC;QACnF,iFAAiF;QACjF,MAAM,MAAM,GAAG,iCAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,GAAG,IAAA,mCAA6B,EACzC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAC9E,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,eAAmC;QAC9E,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,gCAAgC,CAChG,MAAM,EACN,eAAe,CAAC,YAAY,EAC5B,QAAQ,CACX,CAAC;QACF,IAAI,qBAAqB,EAAE,CAAC;YACxB,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1H,CAAC;QAED,oGAAoG;QACpG,mDAAmD;QACnD,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;CACJ,CAAA;AA3CY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,0BAA0B,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,kCAAkC,CAAC,CAAA;6CACvB,uEAAkC;GAP/D,sBAAsB,CA2ClC"}
@@ -9,7 +9,8 @@ Resolved and removed so far: gtfs_metadata feed scoping; the OG active endpoints
9
9
  run numbers; the shapes.txt staging limit (stage ingests the full 193 MB fine; the local dev Redis
10
10
  still truncates such files — a local-environment quirk, not a code bug); the destructive-migration
11
11
  convention (schema changes now pair the squashed init edit with an incremental migration — see
12
- CLAUDE.md, first instance `20260820000000-widen-trip-number`).
12
+ CLAUDE.md, first instance `20260820000000-widen-trip-number`); the empty public VP detail `shapes` scope for
13
+ polled GTFS-RT feeds (now read from static GTFS, see #13).
13
14
 
14
15
  ---
15
16
 
@@ -37,9 +38,9 @@ Disabled-router leftovers to address when these move/return:
37
38
 
38
39
  **Trigger: when feed metadata (validity window, publisher) is needed per feed.**
39
40
 
40
- The GTFS storage import requires `feed_info.txt` to be present in the feed zip but there is no
41
+ The GTFS storage import accepts `feed_info.txt` (optional) in the feed zip but there is no
41
42
  `gtfs_feed_info` table or transformation — the file is skipped after validation
42
- (`ImportGtfsFromStorageTask`, `INGESTED_GTFS_FILES`).
43
+ (`ImportGtfsFromStorageTask`, `OPTIONAL_GTFS_FILES`).
43
44
 
44
45
  ## 3. apidocs-test-input cannot pass (tooling)
45
46
 
@@ -201,10 +202,11 @@ own `refreshPublicTripCache {feedCode}` loop under a per-feed mutex; key format
201
202
  Vehicle ids are `<feedId>-<vehicle>` for every feed so they stay unique across feeds: the stop-time cache keys
202
203
  and the detail endpoint (which derives the feed from the id) rely on it. The detail
203
204
  `stop_times`/`shapes` scopes read the delay computation of the vehicle's own feed; only the CIS/MPV pipelines
204
- (`UpdateDelayTask`) write it, so for polled GTFS-RT feeds both scopes come back empty (fill them from static
205
- GTFS by `(feed_id, trip_id)` when a polled feed needs them). A vehicle without identity in
206
- its feed (no registration or CIS number, e.g. polled GTFS-RT) is keyed by its VP trip, so it gets a new
207
- `vehicle_id` when its trip changes.
205
+ (`UpdateDelayTask`) write it. Without it, `shapes` falls back to the feed's static GTFS shape (by
206
+ `(feed_id, shape_id)`, raw GTFS points instead of the resampled ones), but `stop_times` comes back empty for
207
+ polled GTFS-RT feeds (fill it from static GTFS by `(feed_id, trip_id)` when a polled feed needs it). A
208
+ vehicle without identity in its feed (no registration or CIS number, e.g. polled GTFS-RT) is keyed by its VP
209
+ trip, so it gets a new `vehicle_id` when its trip changes.
208
210
 
209
211
  Left as is:
210
212
  - **`vehicle_descriptor` scope** joins descriptors by registration number only (see #6).
@@ -870,6 +870,30 @@ delay propagation a ostatní CIS obohacení zůstávají pro takto napárované
870
870
  - VPTripsModel `vehiclepositions_trips`
871
871
  - VPPositionsModel `vehiclepositions_positions`
872
872
 
873
+ #### _task: MpvPollTask_
874
+
875
+ Pull protějšek k MPV push endpointu input gateway (`POST /v1/public-transport/vehicle-positions/{feedCode}`):
876
+ pro feedy, které MPV XML neposílají, ale vystavují ho na URL (např. POVED – IDPK Plzeňský kraj), stáhne
877
+ XML z `gtfs_feeds.mpv_url`, rozparsuje ho do stejného tvaru jako input gateway a pošle ho po dávkách
878
+ do `saveDataToDB` s kódem feedu. Celé další zpracování (párování na GTFS, výpočet zpoždění) je stejné
879
+ jako u pushovaných MPV dat. Feedy bez nastavené `mpv_url` se přeskakují.
880
+
881
+ - vstupní rabbitmq fronta
882
+ - název: vehicle-positions.vehiclepositions.pollMpvPositions
883
+ - TTL: 15 sekund
884
+ - parametry: `{ feedCode? }`
885
+ - `feedCode` - volitelný kód feedu (omezí polling na jeden konkrétní feed); bez něj se stáhnou všechny feedy s nastavenou `mpv_url`
886
+ - validační schéma: [MpvPollSchema](../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/MpvPollSchema.ts)
887
+ - frekvence stahování: externí cron `*/5 * * * * *` (zdroj POVED se obnovuje cca každých 5 s; timeout stažení 4 s)
888
+ - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
889
+ - vehicle-positions.vehiclepositions.saveDataToDB
890
+ - datové zdroje
891
+ - MPV XML přes HTTP GET (URL z `gtfs_feeds.mpv_url`)
892
+ - transformace
893
+ - žádné (transformace proběhne v `saveDataToDB`)
894
+ - data modely
895
+ - žádné (čte jen `gtfs_feeds`)
896
+
873
897
  #### _task: RefreshGtfsTripDataTask_
874
898
 
875
899
  - vstupní rabbitmq fronta
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/public-transport",
3
- "version": "0.1.0-dev.2901322475",
3
+ "version": "0.1.0-dev.2917905541",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",