@golemio/pid 5.7.2 → 5.7.3-dev.2378632985

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 (115) hide show
  1. package/dist/const.d.ts +0 -1
  2. package/dist/const.js +1 -2
  3. package/dist/const.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.d.ts +14 -0
  5. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.js +47 -0
  6. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.js.map +1 -0
  7. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.d.ts +3 -2
  8. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.js +4 -2
  9. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.d.ts +9 -0
  11. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.js +47 -0
  12. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.js.map +1 -0
  13. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
  14. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  16. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  17. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  18. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +1 -0
  19. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
  20. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.d.ts +9 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.js +49 -0
  22. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/EnsureCacheTask.js.map +1 -0
  23. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.d.ts +6 -1
  24. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.js +39 -10
  25. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/ioc/Di.js +2 -0
  27. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  28. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +1 -0
  29. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +1 -0
  30. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +11 -5
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +38 -11
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +4 -1
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +22 -9
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +7 -3
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +28 -10
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  40. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  41. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +2 -2
  44. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +1 -2
  46. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +3 -10
  47. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateRunsGtfsTripInput.d.ts +6 -0
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +3 -2
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -1
  51. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js +0 -1
  52. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js.map +1 -1
  53. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js +1 -1
  54. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js.map +1 -1
  55. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js +1 -1
  56. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js.map +1 -1
  57. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +1 -1
  58. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
  59. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.d.ts +10 -3
  60. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.js +30 -7
  61. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.js.map +1 -1
  62. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.d.ts +7 -3
  63. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js +30 -7
  64. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js.map +1 -1
  65. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.d.ts +10 -3
  66. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.js +30 -7
  67. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.js.map +1 -1
  68. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.d.ts +10 -3
  69. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.js +30 -7
  70. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.js.map +1 -1
  71. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.d.ts +10 -0
  72. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.js +45 -0
  73. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.js.map +1 -0
  74. package/dist/output-gateway/vehicle-positions/data-access/index.js +9 -18
  75. package/dist/output-gateway/vehicle-positions/data-access/index.js.map +1 -1
  76. package/dist/output-gateway/vehicle-positions/data-access/interfaces/ITripWithPositionRepository.d.ts +3 -2
  77. package/dist/output-gateway/vehicle-positions/data-access/interfaces/IVPRepositoryInstances.d.ts +6 -6
  78. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.d.ts +7 -3
  79. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.js +30 -7
  80. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.js.map +1 -1
  81. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.d.ts +17 -7
  82. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js +112 -42
  83. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js.map +1 -1
  84. package/dist/output-gateway/vehicle-positions/ioc/Di.d.ts +3 -0
  85. package/dist/output-gateway/vehicle-positions/ioc/Di.js +23 -0
  86. package/dist/output-gateway/vehicle-positions/ioc/Di.js.map +1 -0
  87. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.d.ts +9 -0
  88. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.js +15 -0
  89. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.js.map +1 -0
  90. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.d.ts +3 -0
  91. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.js +40 -0
  92. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.js.map +1 -0
  93. package/dist/schema-definitions/datasources/static-data/index.d.ts +1 -0
  94. package/dist/schema-definitions/datasources/static-data/index.js +1 -0
  95. package/dist/schema-definitions/datasources/static-data/index.js.map +1 -1
  96. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.d.ts +35 -0
  97. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.js +18 -0
  98. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.js.map +1 -0
  99. package/dist/schema-definitions/datasources/static-data/interfaces/index.d.ts +1 -0
  100. package/dist/schema-definitions/datasources/static-data/interfaces/index.js +1 -0
  101. package/dist/schema-definitions/datasources/static-data/interfaces/index.js.map +1 -1
  102. package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +2 -0
  103. package/dist/schema-definitions/ropid-gtfs/redis/const.js +3 -1
  104. package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
  105. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto.d.ts +6 -0
  106. package/docs/asyncapi.yaml +17 -2
  107. package/docs/cache/types/redis.md +58 -2
  108. package/docs/examples/not_public_vehicles.json +9 -0
  109. package/docs/implementation_documentation.md +116 -3
  110. package/docs/jis/index.md +17 -0
  111. package/docs/processing/input_realtime_data/http_mpvnet.md +21 -0
  112. package/docs/processing/state_position_tracking/http_mpvnet.md +1 -0
  113. package/docs/processing/state_position_tracking/tcp_dpp_common.md +1 -0
  114. package/docs/processing/transferboards_filtering.md +312 -0
  115. package/package.json +8 -5
@@ -1,14 +1,23 @@
1
+ import { NotPublicVehiclesRedisRepository } from "../cache/NotPublicVehiclesRedisRepository";
2
+ import { ProcessedPositionRepository } from "./ProcessedPositionRepository";
3
+ import { VehicleTypeRepository } from "../VehicleTypeRepository";
4
+ import { VehicleDescriptorRepository } from "../VehicleDescriptorRepository";
1
5
  import { TripWithLastPositionModel } from "../../../../schema-definitions/vehicle-positions/models/views";
2
- import { SequelizeModel } from "@golemio/core/dist/output-gateway";
6
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
7
  import { IGeoJSONFeature } from "@golemio/core/dist/output-gateway/Geo";
4
8
  import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
5
- import { ITripGetAllOutput, ITripWithPositionRepository } from "../interfaces/ITripWithPositionRepository";
6
- import { IVPRepositoryInstances } from "../interfaces/IVPRepositoryInstances";
7
- export declare class TripWithLastPositionRepository extends SequelizeModel implements ITripWithPositionRepository {
9
+ import { ITripGetAllOutput } from "../interfaces/ITripWithPositionRepository";
10
+ import { AbstractBasicRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository";
11
+ import { ILogger } from "@golemio/core/dist/helpers";
12
+ export declare class TripWithLastPositionRepository extends AbstractBasicRepository {
13
+ private notPublicVehiclesRepository;
14
+ private processedPositionRepository;
15
+ private vehicleTypeRepository;
16
+ private vehicleDescriptorRepository;
17
+ schema: string;
18
+ tableName: string;
8
19
  sequelizeModel: ModelStatic<TripWithLastPositionModel>;
9
- private dbConnector;
10
- constructor();
11
- Associate: (repositories: IVPRepositoryInstances) => void;
20
+ constructor(connector: IDatabaseConnector, logger: ILogger, notPublicVehiclesRepository: NotPublicVehiclesRedisRepository, processedPositionRepository: ProcessedPositionRepository, vehicleTypeRepository: VehicleTypeRepository, vehicleDescriptorRepository: VehicleDescriptorRepository);
12
21
  /** Retrieves all vehicle trips
13
22
  * @param {object} options Options object with params
14
23
  * @param {number} [options.limit] Limit
@@ -47,4 +56,5 @@ export declare class TripWithLastPositionRepository extends SequelizeModel imple
47
56
  }) => Promise<IGeoJSONFeature | null>;
48
57
  private composeIncludes;
49
58
  private determinePossibleStatePositions;
59
+ private getNotPublicWhereConditions;
50
60
  }
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
18
24
  var __importStar = (this && this.__importStar) || (function () {
19
25
  var ownKeys = function(o) {
20
26
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -32,52 +38,45 @@ var __importStar = (this && this.__importStar) || (function () {
32
38
  return result;
33
39
  };
34
40
  })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
45
+ return function (target, key) { decorator(target, key, paramIndex); }
46
+ };
35
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
49
  };
38
50
  Object.defineProperty(exports, "__esModule", { value: true });
39
51
  exports.TripWithLastPositionRepository = void 0;
40
52
  const const_1 = require("../../../../schema-definitions/const");
53
+ const NotPublicVehiclesRedisRepository_1 = require("../cache/NotPublicVehiclesRedisRepository");
54
+ const ProcessedPositionRepository_1 = require("./ProcessedPositionRepository");
55
+ const VehicleTypeRepository_1 = require("../VehicleTypeRepository");
56
+ const VehicleDescriptorRepository_1 = require("../VehicleDescriptorRepository");
57
+ const OgVehiclePositionsToken_1 = require("../../ioc/OgVehiclePositionsToken");
41
58
  const models_1 = require("../../../../schema-definitions/vehicle-descriptors/models");
42
59
  const vehicle_positions_1 = require("../../../../schema-definitions/vehicle-positions");
43
60
  const views_1 = require("../../../../schema-definitions/vehicle-positions/models/views");
44
- const output_gateway_1 = require("@golemio/core/dist/output-gateway");
45
61
  const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
46
- const ioc_1 = require("@golemio/core/dist/output-gateway/ioc/");
47
62
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
48
63
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
49
64
  const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
50
65
  const const_2 = require("../../../../const");
66
+ const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
51
67
  const PositionOutputMapper_1 = require("../helpers/PositionOutputMapper");
52
- class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
53
- constructor() {
54
- super("TripWithLastPositionRepository", views_1.TripWithLastPositionModel.tableName, views_1.TripWithLastPositionModel.attributeModel, {
55
- schema: const_1.PG_SCHEMA,
56
- });
57
- this.Associate = (repositories) => {
58
- this.sequelizeModel.hasMany(repositories.processedPositionRepository.sequelizeModel, {
59
- as: "all_positions",
60
- foreignKey: "trips_id",
61
- scope: {
62
- lat: { [sequelize_1.Op.not]: null },
63
- lng: { [sequelize_1.Op.not]: null },
64
- },
65
- });
66
- this.sequelizeModel.belongsTo(repositories.vehicleTypeRepository.sequelizeModel, {
67
- as: "vehicle_type",
68
- foreignKey: "vehicle_type_id",
69
- });
70
- this.sequelizeModel.belongsTo(repositories.vehicleDescriptorRepository.sequelizeModel, {
71
- as: "vehicle_descriptor",
72
- foreignKey: "vehicle_registration_number",
73
- targetKey: "registration_number",
74
- scope: {
75
- [sequelize_1.default.Op.and]: [
76
- sequelize_1.default.literal(`${views_1.TripWithLastPositionModel.tableName}.gtfs_route_type = vehicle_descriptor.gtfs_route_type`),
77
- ],
78
- },
79
- });
80
- };
68
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
69
+ const AbstractBasicRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository");
70
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
71
+ let TripWithLastPositionRepository = class TripWithLastPositionRepository extends AbstractBasicRepository_1.AbstractBasicRepository {
72
+ constructor(connector, logger, notPublicVehiclesRepository, processedPositionRepository, vehicleTypeRepository, vehicleDescriptorRepository) {
73
+ super(connector, logger);
74
+ this.notPublicVehiclesRepository = notPublicVehiclesRepository;
75
+ this.processedPositionRepository = processedPositionRepository;
76
+ this.vehicleTypeRepository = vehicleTypeRepository;
77
+ this.vehicleDescriptorRepository = vehicleDescriptorRepository;
78
+ this.schema = const_1.PG_SCHEMA;
79
+ this.tableName = views_1.TripWithLastPositionModel.tableName;
81
80
  /** Retrieves all vehicle trips
82
81
  * @param {object} options Options object with params
83
82
  * @param {number} [options.limit] Limit
@@ -94,6 +93,10 @@ class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
94
93
  // updatedSince cannot be more than 10 minutes ago
95
94
  const maxUpdatedAt = updatedSince && (0, moment_timezone_1.default)(updatedSince).isSameOrAfter(minUpdatedAt) ? updatedSince.toISOString() : null;
96
95
  const include = this.composeIncludes(options);
96
+ let notPublicWhereConditions = [];
97
+ if (options.includeNotPublic) {
98
+ notPublicWhereConditions = await this.getNotPublicWhereConditions();
99
+ }
97
100
  try {
98
101
  const rows = await this.sequelizeModel.findAll({
99
102
  attributes: {
@@ -110,12 +113,7 @@ class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
110
113
  },
111
114
  },
112
115
  {
113
- [sequelize_1.Op.or]: [
114
- { gtfs_trip_id: { [sequelize_1.Op.ne]: null } },
115
- {
116
- vehicle_registration_number: { [sequelize_1.Op.in]: const_2.ArrayNotPublicRegistrationNumbers },
117
- },
118
- ],
116
+ [sequelize_1.Op.or]: [{ gtfs_trip_id: { [sequelize_1.Op.ne]: null } }, ...notPublicWhereConditions],
119
117
  },
120
118
  maxUpdatedAt
121
119
  ? {
@@ -196,11 +194,11 @@ class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
196
194
  const include = [
197
195
  {
198
196
  as: "vehicle_type",
199
- model: this.dbConnector.getConnection().models[vehicle_positions_1.VehiclePositions.vehicleTypes.pgTableName],
197
+ model: this.connector.getConnection().models[vehicle_positions_1.VehiclePositions.vehicleTypes.pgTableName],
200
198
  },
201
199
  {
202
200
  as: "vehicle_descriptor",
203
- model: this.dbConnector.getConnection().models[models_1.DescriptorModel.tableName],
201
+ model: this.connector.getConnection().models[models_1.DescriptorModel.tableName],
204
202
  attributes: ["is_air_conditioned", "has_usb_chargers"],
205
203
  },
206
204
  ];
@@ -210,7 +208,7 @@ class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
210
208
  exclude: ["trips_id", "state_position"],
211
209
  },
212
210
  as: "all_positions",
213
- model: this.dbConnector.getConnection().models[views_1.ProcessedPositionModel.tableName],
211
+ model: this.connector.getConnection().models[views_1.ProcessedPositionModel.tableName],
214
212
  where: {
215
213
  state_position: {
216
214
  [sequelize_1.Op.in]: possibleStatePositions,
@@ -230,11 +228,83 @@ class TripWithLastPositionRepository extends output_gateway_1.SequelizeModel {
230
228
  }
231
229
  return possibleStatePosition;
232
230
  };
233
- this.dbConnector = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.PostgresDatabase);
231
+ this.getNotPublicWhereConditions = async () => {
232
+ const conditions = [];
233
+ // Fetch not-public vehicles config from Redis
234
+ const { tram: { registrationNumbers: tramRegistrationNumbers }, road: { registrationNumbers: roadRegistrationNumbers }, routeIds: allowedRouteNames, } = await this.notPublicVehiclesRepository.getConfig();
235
+ // Add tram vehicles condition only if we have tram registration numbers
236
+ if (tramRegistrationNumbers && tramRegistrationNumbers.length > 0) {
237
+ conditions.push({
238
+ [sequelize_1.Op.and]: [
239
+ { gtfs_route_type: RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM },
240
+ { vehicle_registration_number: { [sequelize_1.Op.in]: tramRegistrationNumbers } },
241
+ ],
242
+ });
243
+ }
244
+ // Add road vehicles condition only if we have road registration numbers
245
+ if (roadRegistrationNumbers && roadRegistrationNumbers.length > 0) {
246
+ conditions.push({
247
+ [sequelize_1.Op.and]: [
248
+ {
249
+ gtfs_route_type: {
250
+ [sequelize_1.Op.in]: [RouteTypeEnums_1.GTFSRouteTypeEnum.BUS, RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS],
251
+ },
252
+ },
253
+ { vehicle_registration_number: { [sequelize_1.Op.in]: roadRegistrationNumbers } },
254
+ ],
255
+ });
256
+ }
257
+ // Add route names condition only if we have route IDs
258
+ if (allowedRouteNames && allowedRouteNames.length > 0) {
259
+ conditions.push({
260
+ origin_route_name: { [sequelize_1.Op.in]: allowedRouteNames },
261
+ });
262
+ }
263
+ return conditions;
264
+ };
265
+ this.sequelizeModel = connector.getConnection().define(this.tableName, views_1.TripWithLastPositionModel.attributeModel, {
266
+ schema: this.schema,
267
+ });
268
+ // Set up associations
269
+ this.sequelizeModel.hasMany(this.processedPositionRepository.sequelizeModel, {
270
+ as: "all_positions",
271
+ foreignKey: "trips_id",
272
+ scope: {
273
+ lat: { [sequelize_1.Op.not]: null },
274
+ lng: { [sequelize_1.Op.not]: null },
275
+ },
276
+ });
277
+ this.sequelizeModel.belongsTo(this.vehicleTypeRepository.sequelizeModel, {
278
+ as: "vehicle_type",
279
+ foreignKey: "vehicle_type_id",
280
+ });
281
+ this.sequelizeModel.belongsTo(this.vehicleDescriptorRepository.sequelizeModel, {
282
+ as: "vehicle_descriptor",
283
+ foreignKey: "vehicle_registration_number",
284
+ targetKey: "registration_number",
285
+ scope: {
286
+ [sequelize_1.default.Op.and]: [
287
+ sequelize_1.default.literal(`${views_1.TripWithLastPositionModel.tableName}.gtfs_route_type = vehicle_descriptor.gtfs_route_type`),
288
+ ],
289
+ },
290
+ });
234
291
  }
235
292
  GetOne() {
236
293
  throw new Error("Not implemented");
237
294
  }
238
- }
295
+ };
239
296
  exports.TripWithLastPositionRepository = TripWithLastPositionRepository;
297
+ exports.TripWithLastPositionRepository = TripWithLastPositionRepository = __decorate([
298
+ (0, tsyringe_1.injectable)(),
299
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
300
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
301
+ __param(2, (0, tsyringe_1.inject)(OgVehiclePositionsToken_1.OgVehiclePositionsToken.NotPublicVehiclesRedisRepository)),
302
+ __param(3, (0, tsyringe_1.inject)(OgVehiclePositionsToken_1.OgVehiclePositionsToken.ProcessedPositionRepository)),
303
+ __param(4, (0, tsyringe_1.inject)(OgVehiclePositionsToken_1.OgVehiclePositionsToken.VehicleTypeRepository)),
304
+ __param(5, (0, tsyringe_1.inject)(OgVehiclePositionsToken_1.OgVehiclePositionsToken.VehicleDescriptorRepository)),
305
+ __metadata("design:paramtypes", [Object, Object, NotPublicVehiclesRedisRepository_1.NotPublicVehiclesRedisRepository,
306
+ ProcessedPositionRepository_1.ProcessedPositionRepository,
307
+ VehicleTypeRepository_1.VehicleTypeRepository,
308
+ VehicleDescriptorRepository_1.VehicleDescriptorRepository])
309
+ ], TripWithLastPositionRepository);
240
310
  //# sourceMappingURL=TripWithLastPositionRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TripWithLastPositionRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TripWithLastPositionRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const ogVehiclePositionsContainer: DependencyContainer;
3
+ export { ogVehiclePositionsContainer as OgVehiclePositionsContainer };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OgVehiclePositionsContainer = void 0;
4
+ const NotPublicVehiclesRedisRepository_1 = require("../data-access/cache/NotPublicVehiclesRedisRepository");
5
+ const PositionRepository_1 = require("../data-access/PositionRepository");
6
+ const TripRepository_1 = require("../data-access/TripRepository");
7
+ const VehicleDescriptorRepository_1 = require("../data-access/VehicleDescriptorRepository");
8
+ const VehicleTypeRepository_1 = require("../data-access/VehicleTypeRepository");
9
+ const ProcessedPositionRepository_1 = require("../data-access/views/ProcessedPositionRepository");
10
+ const TripWithLastPositionRepository_1 = require("../data-access/views/TripWithLastPositionRepository");
11
+ const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
12
+ const OgVehiclePositionsToken_1 = require("./OgVehiclePositionsToken");
13
+ const ogVehiclePositionsContainer = Di_1.OutputGatewayContainer.createChildContainer();
14
+ exports.OgVehiclePositionsContainer = ogVehiclePositionsContainer;
15
+ //#region Repositories
16
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.NotPublicVehiclesRedisRepository, NotPublicVehiclesRedisRepository_1.NotPublicVehiclesRedisRepository);
17
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.PositionRepository, PositionRepository_1.PositionRepository);
18
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.TripRepository, TripRepository_1.TripRepository);
19
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.VehicleTypeRepository, VehicleTypeRepository_1.VehicleTypeRepository);
20
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.VehicleDescriptorRepository, VehicleDescriptorRepository_1.VehicleDescriptorRepository);
21
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.TripWithLastPositionRepository, TripWithLastPositionRepository_1.TripWithLastPositionRepository);
22
+ ogVehiclePositionsContainer.registerSingleton(OgVehiclePositionsToken_1.OgVehiclePositionsToken.ProcessedPositionRepository, ProcessedPositionRepository_1.ProcessedPositionRepository);
23
+ //# sourceMappingURL=Di.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,4GAAyG;AACzG,0EAAuE;AACvE,kEAA+D;AAC/D,4FAAyF;AACzF,gFAA6E;AAC7E,kGAA+F;AAC/F,wGAAqG;AACrG,iEAAkF;AAElF,uEAAoE;AAEpE,MAAM,2BAA2B,GAAwB,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAkB/D,kEAA2B;AAhBnE,sBAAsB;AACtB,2BAA2B,CAAC,iBAAiB,CACzC,iDAAuB,CAAC,gCAAgC,EACxD,mEAAgC,CACnC,CAAC;AACF,2BAA2B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC,CAAC;AAC9G,2BAA2B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AACtG,2BAA2B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AACpH,2BAA2B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAChI,2BAA2B,CAAC,iBAAiB,CACzC,iDAAuB,CAAC,8BAA8B,EACtD,+DAA8B,CACjC,CAAC;AACF,2BAA2B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const OgVehiclePositionsToken: {
2
+ NotPublicVehiclesRedisRepository: symbol;
3
+ PositionRepository: symbol;
4
+ TripRepository: symbol;
5
+ VehicleTypeRepository: symbol;
6
+ VehicleDescriptorRepository: symbol;
7
+ TripWithLastPositionRepository: symbol;
8
+ ProcessedPositionRepository: symbol;
9
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OgVehiclePositionsToken = void 0;
4
+ exports.OgVehiclePositionsToken = {
5
+ //#region Repositories
6
+ NotPublicVehiclesRedisRepository: Symbol("NotPublicVehiclesRedisRepository"),
7
+ PositionRepository: Symbol("PositionRepository"),
8
+ TripRepository: Symbol("TripRepository"),
9
+ VehicleTypeRepository: Symbol("VehicleTypeRepository"),
10
+ VehicleDescriptorRepository: Symbol("VehicleDescriptorRepository"),
11
+ TripWithLastPositionRepository: Symbol("TripWithLastPositionRepository"),
12
+ ProcessedPositionRepository: Symbol("ProcessedPositionRepository"),
13
+ //#endregion
14
+ };
15
+ //# sourceMappingURL=OgVehiclePositionsToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OgVehiclePositionsToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,sBAAsB;IACtB,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,8BAA8B,EAAE,MAAM,CAAC,gCAAgC,CAAC;IACxE,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,YAAY;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
2
+ import { INotPublicVehicles } from "./interfaces/NotPublicVehiclesDataInterface";
3
+ export declare const notPublicVehiclesJsonSchema: JSONSchemaType<INotPublicVehicles>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notPublicVehiclesJsonSchema = void 0;
4
+ exports.notPublicVehiclesJsonSchema = {
5
+ type: "object",
6
+ properties: {
7
+ tram: {
8
+ type: "object",
9
+ properties: {
10
+ registrationNumbers: {
11
+ type: "array",
12
+ items: {
13
+ type: "string",
14
+ },
15
+ },
16
+ },
17
+ required: ["registrationNumbers"],
18
+ },
19
+ road: {
20
+ type: "object",
21
+ properties: {
22
+ registrationNumbers: {
23
+ type: "array",
24
+ items: {
25
+ type: "string",
26
+ },
27
+ },
28
+ },
29
+ required: ["registrationNumbers"],
30
+ },
31
+ routeIds: {
32
+ type: "array",
33
+ items: {
34
+ type: "string",
35
+ },
36
+ },
37
+ },
38
+ required: ["tram", "road", "routeIds"],
39
+ };
40
+ //# sourceMappingURL=NotPublicVehiclesJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotPublicVehiclesJsonSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,2BAA2B,GAAuC;IAC3E,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,mBAAmB,EAAE;oBACjB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;qBACjB;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,qBAAqB,CAAC;SACpC;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,mBAAmB,EAAE;oBACjB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;qBACjB;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,qBAAqB,CAAC;SACpC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;KACJ;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;CACzC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./MetroRailTrackJsonSchema";
2
2
  export * from "./DeparturesDirectionsJsonSchema";
3
+ export * from "./NotPublicVehiclesJsonSchema";
3
4
  export * from "./interfaces";
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./MetroRailTrackJsonSchema"), exports);
18
18
  __exportStar(require("./DeparturesDirectionsJsonSchema"), exports);
19
+ __exportStar(require("./NotPublicVehiclesJsonSchema"), exports);
19
20
  __exportStar(require("./interfaces"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/static-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,mEAAiD;AACjD,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/static-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,mEAAiD;AACjD,gEAA8C;AAC9C,+CAA6B"}
@@ -0,0 +1,35 @@
1
+ import { GTFSRouteTypeEnum } from "../../../../helpers/RouteTypeEnums";
2
+ /**
3
+ * Interface for the not-public vehicles configuration
4
+ * Used for ad-hoc/replacement vehicles (e.g., metro replacement buses)
5
+ * Loaded from Blob Storage
6
+ */
7
+ export interface INotPublicVehicles {
8
+ /**
9
+ * Tram vehicle registration numbers
10
+ * Separated because trams and buses can have the same registration numbers
11
+ */
12
+ tram: {
13
+ registrationNumbers: string[];
14
+ };
15
+ /**
16
+ * Road vehicle registration numbers (bus + trolleybus)
17
+ * Separated from tram because they can have the same registration numbers
18
+ */
19
+ road: {
20
+ registrationNumbers: string[];
21
+ };
22
+ /**
23
+ * Whitelist of route IDs (line short names) that should be displayed
24
+ * even when they don't have a schedule
25
+ */
26
+ routeIds: string[];
27
+ }
28
+ /**
29
+ * Helper type to determine if a route type is a road vehicle (bus or trolleybus)
30
+ */
31
+ export declare function isRoadVehicleType(routeType: GTFSRouteTypeEnum): boolean;
32
+ /**
33
+ * Helper type to determine if a route type is a tram
34
+ */
35
+ export declare function isTramVehicleType(routeType: GTFSRouteTypeEnum): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRoadVehicleType = isRoadVehicleType;
4
+ exports.isTramVehicleType = isTramVehicleType;
5
+ const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
6
+ /**
7
+ * Helper type to determine if a route type is a road vehicle (bus or trolleybus)
8
+ */
9
+ function isRoadVehicleType(routeType) {
10
+ return routeType === RouteTypeEnums_1.GTFSRouteTypeEnum.BUS || routeType === RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS;
11
+ }
12
+ /**
13
+ * Helper type to determine if a route type is a tram
14
+ */
15
+ function isTramVehicleType(routeType) {
16
+ return routeType === RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM;
17
+ }
18
+ //# sourceMappingURL=NotPublicVehiclesDataInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotPublicVehiclesDataInterface.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.ts"],"names":[],"mappings":";;AAkCA,8CAEC;AAKD,8CAEC;AA3CD,uEAA+D;AA+B/D;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAA4B;IAC1D,OAAO,SAAS,KAAK,kCAAiB,CAAC,GAAG,IAAI,SAAS,KAAK,kCAAiB,CAAC,UAAU,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAA4B;IAC1D,OAAO,SAAS,KAAK,kCAAiB,CAAC,IAAI,CAAC;AAChD,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./MetroRailTrackDataInterface";
2
2
  export * from "./DeparturesDirectionDataInterface";
3
+ export * from "./NotPublicVehiclesDataInterface";
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./MetroRailTrackDataInterface"), exports);
18
18
  __exportStar(require("./DeparturesDirectionDataInterface"), exports);
19
+ __exportStar(require("./NotPublicVehiclesDataInterface"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/static-data/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,qEAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/static-data/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,qEAAmD;AACnD,mEAAiD"}
@@ -1,3 +1,5 @@
1
1
  export declare const GTFS_RUN_SCHEDULE_NAMESPACE_PREFIX = "gtfsRunSchedule";
2
2
  export declare const PUBLIC_DEPARTURE_NAMESPACE_PREFIX = "gtfsPublicDepartureCache";
3
3
  export declare const GTFS_STOPS_NAMESPACE_PREFIX = "gtfsStopsCache";
4
+ export declare const CONFIG_NAMESPACE_PREFIX = "config";
5
+ export declare const NOT_PUBLIC_VEHICLES_KEY = "notPublicVehicles";
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GTFS_STOPS_NAMESPACE_PREFIX = exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX = exports.GTFS_RUN_SCHEDULE_NAMESPACE_PREFIX = void 0;
3
+ exports.NOT_PUBLIC_VEHICLES_KEY = exports.CONFIG_NAMESPACE_PREFIX = exports.GTFS_STOPS_NAMESPACE_PREFIX = exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX = exports.GTFS_RUN_SCHEDULE_NAMESPACE_PREFIX = void 0;
4
4
  exports.GTFS_RUN_SCHEDULE_NAMESPACE_PREFIX = "gtfsRunSchedule";
5
5
  exports.PUBLIC_DEPARTURE_NAMESPACE_PREFIX = "gtfsPublicDepartureCache";
6
6
  exports.GTFS_STOPS_NAMESPACE_PREFIX = "gtfsStopsCache";
7
+ exports.CONFIG_NAMESPACE_PREFIX = "config";
8
+ exports.NOT_PUBLIC_VEHICLES_KEY = "notPublicVehicles";
7
9
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/schema-definitions/ropid-gtfs/redis/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,kCAAkC,GAAG,iBAAiB,CAAC;AACvD,QAAA,iCAAiC,GAAG,0BAA0B,CAAC;AAC/D,QAAA,2BAA2B,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/schema-definitions/ropid-gtfs/redis/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,kCAAkC,GAAG,iBAAiB,CAAC;AACvD,QAAA,iCAAiC,GAAG,0BAA0B,CAAC;AAC/D,QAAA,2BAA2B,GAAG,gBAAgB,CAAC;AAC/C,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,uBAAuB,GAAG,mBAAmB,CAAC"}
@@ -3,4 +3,10 @@ import { ICommonRunsModel } from "./ICommonRunsModel";
3
3
  export interface ICommonRunWithMessageDto {
4
4
  run: ICommonRunsModel;
5
5
  run_message: ICommonRunsMessagesModel;
6
+ /**
7
+ * Flag set by message filters to indicate this is a not-public vehicle
8
+ * (replacement bus/tram without schedule)
9
+ * Used by processor to determine if missing timestamp is acceptable
10
+ */
11
+ isNotPublic?: boolean;
6
12
  }
@@ -105,6 +105,17 @@ channels:
105
105
  messages:
106
106
  empty:
107
107
  $ref: "#/components/messages/emptyMessage"
108
+ ropidgtfs.ensureCache:
109
+ address: vehicle-positions.ropidgtfs.ensureCache
110
+ description: Triggers all cache refreshes to ensure caches are populated and up to date
111
+ bindings:
112
+ amqp:
113
+ is: queue
114
+ queue:
115
+ durable: true
116
+ messages:
117
+ empty:
118
+ $ref: "#/components/messages/emptyMessage"
108
119
  updateGTFSTripId:
109
120
  address: vehicle-positions.vehiclepositions.updateGTFSTripId
110
121
  description: some description
@@ -707,8 +718,12 @@ components:
707
718
  type: string
708
719
  description: The timestamp when the message was last sent.
709
720
  wheelchair_accessible:
710
- type: boolean
711
- description: Indicates if the vehicle is wheelchair accessible.
721
+ type: [boolean, "null"]
722
+ description: |
723
+ Raw wheelchair accessibility flag from vehiclepositions_trips.
724
+ Mapped to wheelchairAccessible proto enum in GTFS-RT VehicleDescriptor:
725
+ null → WHEELCHAIR_ACCESSIBLE_UNSPECIFIED (0), true → WHEELCHAIR_ACCESSIBLE (1), false → WHEELCHAIR_INACCESSIBLE (2).
726
+ The OVAPI extension .transit_realtime.ovapiVehicleDescriptor.wheelchairAccessible retains the raw boolean/null value alongside the standard field.
712
727
  ICommonRunsMessagesModel:
713
728
  type: object
714
729
  properties: