@golemio/pid 2.4.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/13_http-propagate-delay.sql +218 -0
- package/db/example/99_precomputed_tables.sql +65 -44
- package/db/migrations/postgresql/20230104135230-add-first-last-stop-to-scheduled-trips.js +53 -0
- package/db/migrations/postgresql/sqls/20230104135230-add-first-last-stop-to-scheduled-trips-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20230104135230-add-first-last-stop-to-scheduled-trips-up.sql +3 -0
- package/dist/integration-engine/index.d.ts +1 -1
- package/dist/integration-engine/index.js +14 -11
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +0 -99
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +3 -3
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js +68 -47
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js +18 -0
- package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.d.ts +29 -0
- package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js +35 -0
- package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.d.ts +28 -0
- package/dist/integration-engine/{vehicle-positions/VehiclePositionsInterfaces.js → ropid-gtfs/interfaces/IGtfsRunTripCache.js} +1 -1
- package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/index.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/index.js +3 -3
- package/dist/integration-engine/vehicle-positions/index.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.d.ts +5 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js +16 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js +14 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.d.ts +2 -0
- package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js} +12 -12
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js.map +1 -0
- package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.d.ts → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.d.ts} +2 -2
- package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js} +9 -9
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.d.ts +9 -0
- package/dist/integration-engine/{gtfsrt-alerts/GtfsRtAlertsController.js → vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js} +19 -15
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.d.ts +14 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js +19 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.d.ts +11 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js +16 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.d.ts +31 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.d.ts +26 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +10 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +130 -0
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -0
- package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.d.ts → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.d.ts} +6 -6
- package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js} +9 -9
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +7 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.d.ts → workers/runs/data-access/CommonRunsMessagesRepository.d.ts} +3 -3
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.js → workers/runs/data-access/CommonRunsMessagesRepository.js} +12 -11
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsMessagesRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +32 -0
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsModel.js → workers/runs/data-access/CommonRunsRepository.js} +24 -20
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.js +10 -10
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RunTripsRedisRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +10 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +42 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroMessageFilter.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.d.ts +33 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.d.ts +6 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IDataDeletionParams.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IMetroRunInputForProcessing.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.d.ts +5 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IProcessMetroRunsMessagesInput.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js +99 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/DataDeletionSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroRunsSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroTransformedRunsSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.d.ts +4 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +7 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.d.ts +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js +13 -12
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +14 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +48 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +2 -2
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +4 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +14 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +43 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +11 -0
- package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsRunsTransformation.js → workers/runs/transformations/CommonRunsMessagesTransformation.js} +7 -8
- package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessageProcessingTransformation.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/{VPWorker.d.ts → vehicle-positions/VPWorker.d.ts} +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +28 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.d.ts → workers/vehicle-positions/data-access/PositionsHistoryRepository.d.ts} +1 -1
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.js → workers/vehicle-positions/data-access/PositionsHistoryRepository.js} +6 -6
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsHistoryRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.d.ts → workers/vehicle-positions/data-access/PositionsRepository.d.ts} +8 -8
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.js → workers/vehicle-positions/data-access/PositionsRepository.js} +11 -11
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js +18 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.d.ts → workers/vehicle-positions/data-access/TripsHistoryRepository.d.ts} +1 -1
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.js → workers/vehicle-positions/data-access/TripsHistoryRepository.js} +6 -6
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsHistoryRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.d.ts → workers/vehicle-positions/data-access/TripsRepository.d.ts} +38 -67
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.js → workers/vehicle-positions/data-access/TripsRepository.js} +82 -57
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.d.ts +9 -0
- package/dist/integration-engine/vehicle-positions/{models/helpers/VPPositionsMapper.js → workers/vehicle-positions/data-access/helpers/PositionsMapper.js} +8 -8
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.d.ts +13 -0
- package/dist/integration-engine/vehicle-positions/{models/helpers/VPTripsIdGenerator.js → workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js} +3 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.d.ts +10 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +85 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.d.ts +2 -2
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DPPUtils.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +32 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +271 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionCalculator.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionHandlerEnum.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.d.ts +4 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.js +8 -4
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.d.ts +15 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js +47 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.d.ts → workers/vehicle-positions/helpers/VPUtils.d.ts} +5 -15
- package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.js → workers/vehicle-positions/helpers/VPUtils.js} +12 -32
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.js +3 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/ValidToCalculator.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.d.ts +4 -4
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +29 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/AbstractGTFSTripRunManager.js +14 -4
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.d.ts +4 -4
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.js +5 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.d.ts +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +7 -0
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/interfaces/IDelayMessage.js +0 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.d.ts +6 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.d.ts +8 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.d.ts +6 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.d.ts +49 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.d.ts +53 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/{VehiclePositionsInterfaces.d.ts → workers/vehicle-positions/interfaces/VPInterfaces.d.ts} +10 -7
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js +22 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.d.ts +7 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js +27 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js +218 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.d.ts +9 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js +33 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.d.ts +7 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js +27 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.d.ts +7 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js +25 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.d.ts +0 -0
- package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.js +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DataRetentionTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.d.ts +14 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js +39 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.d.ts +19 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +125 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +12 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +77 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +22 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +176 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.d.ts +18 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js +143 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.d.ts +22 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +73 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.d.ts +58 -0
- package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsTransformation.js → workers/vehicle-positions/transformations/PositionsTransformation.js} +23 -24
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.js.map +1 -0
- package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.d.ts +3 -0
- package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.js +7 -0
- package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.js.map +1 -0
- package/dist/output-gateway/shared/data-access/index.d.ts +1 -0
- package/dist/{integration-engine/vehicle-positions/transformations → output-gateway/shared/data-access}/index.js +1 -2
- package/dist/output-gateway/shared/data-access/index.js.map +1 -0
- package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +1 -0
- package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js +7 -0
- package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +6 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +8 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/index.d.ts +0 -16
- package/dist/schema-definitions/vehicle-positions/index.js +0 -130
- package/dist/schema-definitions/vehicle-positions/index.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.d.ts +20 -0
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js +73 -0
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.d.ts +16 -0
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js +61 -0
- package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/models/index.d.ts +2 -0
- package/dist/schema-definitions/vehicle-positions/models/index.js +2 -0
- package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.d.ts +14 -0
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js +3 -0
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.d.ts +10 -0
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js +3 -0
- package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js.map +1 -0
- package/docs/implementation_documentation.md +125 -119
- package/package.json +6 -6
- package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.d.ts +0 -10
- package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.js.map +0 -1
- package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.d.ts +0 -2
- package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js.map +0 -1
- package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsEffectMapper.js.map +0 -1
- package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/VehiclePositionsInterfaces.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/VehiclePositionsUtils.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.d.ts +0 -105
- package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js +0 -887
- package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/DPPUtils.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/PositionCalculator.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/PositionHandlerEnum.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/ValidToCalculator.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +0 -24
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +0 -6
- package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsHistoryModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsMessagesModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.d.ts +0 -55
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsHistoryModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.d.ts +0 -8
- package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.d.ts +0 -13
- package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.d.ts +0 -10
- package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js +0 -85
- package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/models/index.d.ts +0 -4
- package/dist/integration-engine/vehicle-positions/models/index.js +0 -21
- package/dist/integration-engine/vehicle-positions/models/index.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.d.ts +0 -69
- package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.d.ts +0 -108
- package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/transformations/index.d.ts +0 -2
- package/dist/integration-engine/vehicle-positions/transformations/index.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/VPWorker.js +0 -16
- package/dist/integration-engine/vehicle-positions/workers/VPWorker.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/MetroRunsMessagesRepository.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroMessageFilter.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IDataDeletionParams.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.d.ts +0 -5
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/MetroRunsMessageInterfaces.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/DataDeletionSchema.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroRunsSchema.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/tasks/DataRetentionTask.js.map +0 -1
- package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.d.ts +0 -56
- package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js +0 -29
- package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataRetentionTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DataRetentionTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { IDataDeletionParams } from "../interfaces/IDataDeletionParams";
|
|
3
|
+
import { DataDeletionValidationSchema } from "../schema/DataDeletionSchema";
|
|
4
|
+
export declare class DeleteDataTask extends AbstractTask<IDataDeletionParams> {
|
|
5
|
+
readonly queueName = "deleteData";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof DataDeletionValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly tripsHistoryRepository;
|
|
10
|
+
private readonly positionsRepository;
|
|
11
|
+
private readonly positionsHistoryRepository;
|
|
12
|
+
constructor(queuePrefix: string);
|
|
13
|
+
protected execute(data: IDataDeletionParams): Promise<void>;
|
|
14
|
+
}
|
package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DeleteDataTask = void 0;
|
|
13
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
14
|
+
const PositionsHistoryRepository_1 = require("../data-access/PositionsHistoryRepository");
|
|
15
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
16
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
17
|
+
const DataDeletionSchema_1 = require("../schema/DataDeletionSchema");
|
|
18
|
+
class DeleteDataTask extends workers_1.AbstractTask {
|
|
19
|
+
constructor(queuePrefix) {
|
|
20
|
+
super(queuePrefix);
|
|
21
|
+
this.queueName = "deleteData";
|
|
22
|
+
this.queueTtl = 29 * 60 * 1000; // 29 minutes
|
|
23
|
+
this.schema = DataDeletionSchema_1.DataDeletionValidationSchema;
|
|
24
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
25
|
+
this.tripsHistoryRepository = new PositionsRepository_1.PositionsRepository();
|
|
26
|
+
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
27
|
+
this.positionsHistoryRepository = new PositionsHistoryRepository_1.PositionsHistoryRepository();
|
|
28
|
+
}
|
|
29
|
+
execute(data) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
yield this.tripsRepository.deleteNHoursOldData(data.targetHours);
|
|
32
|
+
yield this.positionsRepository.deleteNHoursOldData(data.targetHours);
|
|
33
|
+
yield this.tripsHistoryRepository.deleteNHoursOldData(data.targetHours);
|
|
34
|
+
yield this.positionsHistoryRepository.deleteNHoursOldData(data.targetHours);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.DeleteDataTask = DeleteDataTask;
|
|
39
|
+
//# sourceMappingURL=DeleteDataTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,0FAAuF;AACvF,4EAAyE;AAEzE,oEAAiE;AAEjE,qEAA4E;AAE5E,MAAa,cAAe,SAAQ,sBAAiC;IAUjE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,YAAY,CAAC;QACzB,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,iDAA4B,CAAC;QASlD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,EAAE,CAAC;IACvE,CAAC;IAEe,OAAO,CAAC,IAAyB;;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChF,CAAC;KAAA;CACJ;AAxBD,wCAwBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { IPropagateDelayInput } from "../interfaces/IPropagateDelayInput";
|
|
3
|
+
import { PropagateDelayValidationSchema } from "../schema/PropagateDelaySchema";
|
|
4
|
+
export declare class PropagateDelayTask extends AbstractTask<IPropagateDelayInput> {
|
|
5
|
+
readonly queueName = "propagateDelay";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof PropagateDelayValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly positionsRepository;
|
|
10
|
+
private readonly runTripsRedisRepository;
|
|
11
|
+
constructor(queuePrefix: string);
|
|
12
|
+
protected execute(data: IPropagateDelayInput): Promise<void>;
|
|
13
|
+
private mapDelayedPositionsToRunTrips;
|
|
14
|
+
private isUpdateDelayRunTripsIdsData;
|
|
15
|
+
/**
|
|
16
|
+
* Takes all newly computed positions search for next trips in near future and propagate delay for them
|
|
17
|
+
*/
|
|
18
|
+
private propagateDelayForGtfsTrip;
|
|
19
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PropagateDelayTask = void 0;
|
|
16
|
+
const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
|
|
17
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
18
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
19
|
+
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
20
|
+
const const_1 = require("../../../../../const");
|
|
21
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
22
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
23
|
+
const PropagateDelaySchema_1 = require("../schema/PropagateDelaySchema");
|
|
24
|
+
class PropagateDelayTask extends workers_1.AbstractTask {
|
|
25
|
+
constructor(queuePrefix) {
|
|
26
|
+
super(queuePrefix);
|
|
27
|
+
this.queueName = "propagateDelay";
|
|
28
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
29
|
+
this.schema = PropagateDelaySchema_1.PropagateDelayValidationSchema;
|
|
30
|
+
this.mapDelayedPositionsToRunTrips = (processedPositions, updatedTrips) => {
|
|
31
|
+
const tripPositionMap = [];
|
|
32
|
+
for (const batch of processedPositions) {
|
|
33
|
+
if (batch.context.lastPositionTracking === null) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const { properties: { state_position }, } = batch.context.lastPositionTracking;
|
|
37
|
+
if (state_position !== const_1.StatePositionEnum.ON_TRACK && state_position !== const_1.StatePositionEnum.AT_STOP) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const trip = updatedTrips.find((el) => el.id === batch.context.tripId);
|
|
41
|
+
if (trip && this.isUpdateDelayRunTripsIdsData(trip)) {
|
|
42
|
+
tripPositionMap.push({
|
|
43
|
+
position: batch.context.lastPositionTracking,
|
|
44
|
+
trip: trip,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return tripPositionMap;
|
|
49
|
+
};
|
|
50
|
+
this.isUpdateDelayRunTripsIdsData = (data) => {
|
|
51
|
+
const { origin_route_name, sequence_id, gtfs_trip_id } = data;
|
|
52
|
+
return !!(origin_route_name && sequence_id && gtfs_trip_id);
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Takes all newly computed positions search for next trips in near future and propagate delay for them
|
|
56
|
+
*/
|
|
57
|
+
this.propagateDelayForGtfsTrip = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const results = yield this.tripsRepository.getPropagateDelayTripsWithPositions(data);
|
|
59
|
+
if (!results.length)
|
|
60
|
+
return;
|
|
61
|
+
let turnTimeAcc = (+results[0].start_timestamp - moment_timezone_1.default.utc(data.currentEndTime).valueOf()) / 1000;
|
|
62
|
+
const rowsToUpdate = results.map((item, i) => {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const requiredTurnaroundSeconds = (_b = (_a = data.nextGtfsTrips.find((element) => element.trip_id === results[i].gtfs_trip_id)) === null || _a === void 0 ? void 0 : _a.requiredTurnaroundSeconds) !== null && _b !== void 0 ? _b : 0;
|
|
65
|
+
turnTimeAcc +=
|
|
66
|
+
i > 0
|
|
67
|
+
? (+results[i].start_timestamp - +results[i - 1].end_timestamp) / 1000 - requiredTurnaroundSeconds
|
|
68
|
+
: -requiredTurnaroundSeconds;
|
|
69
|
+
return {
|
|
70
|
+
position: {
|
|
71
|
+
id: item.last_position.id,
|
|
72
|
+
delay: Math.max(0, data.currentDelay - turnTimeAcc),
|
|
73
|
+
state_position: const_1.StatePositionEnum.BEFORE_TRACK_DELAYED,
|
|
74
|
+
origin_timestamp: +item.last_position.origin_timestamp,
|
|
75
|
+
},
|
|
76
|
+
trip: {
|
|
77
|
+
id: item.id,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
yield this.tripsRepository.bulkUpdatePropagatedDelay(rowsToUpdate);
|
|
82
|
+
});
|
|
83
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
84
|
+
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
85
|
+
this.runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
|
|
86
|
+
}
|
|
87
|
+
execute(data) {
|
|
88
|
+
var _a;
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const delayedPositionsWithRunTrips = this.mapDelayedPositionsToRunTrips(data.processedPositions, data.trips);
|
|
91
|
+
for (const delayedPositions of delayedPositionsWithRunTrips) {
|
|
92
|
+
const { origin_route_name, sequence_id, gtfs_trip_id, vehicle_registration_number, start_timestamp } = delayedPositions.trip;
|
|
93
|
+
const scheduledTrips = yield this.runTripsRedisRepository.get(`${origin_route_name}_${sequence_id}`);
|
|
94
|
+
if ((_a = scheduledTrips === null || scheduledTrips === void 0 ? void 0 : scheduledTrips.schedule) === null || _a === void 0 ? void 0 : _a.length) {
|
|
95
|
+
const gtfsCurrentTrip = scheduledTrips.schedule.find((trip) => trip.trip_id === gtfs_trip_id && (0, moment_timezone_1.default)(trip.start_timestamp).isSame((0, moment_timezone_1.default)(+start_timestamp), "seconds"));
|
|
96
|
+
if (!gtfsCurrentTrip) {
|
|
97
|
+
helpers_1.log.warn(`${this.queueName}: could not determine GTFS trip from run trips data: ` +
|
|
98
|
+
JSON.stringify(delayedPositions.trip));
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const gtfsNextTrips = scheduledTrips.schedule.filter((trip) => {
|
|
102
|
+
return ((0, moment_timezone_1.default)(gtfsCurrentTrip.end_timestamp).clone().add(60, "minutes") >= (0, moment_timezone_1.default)(trip.start_timestamp) &&
|
|
103
|
+
(0, moment_timezone_1.default)(gtfsCurrentTrip.end_timestamp) <= (0, moment_timezone_1.default)(trip.start_timestamp));
|
|
104
|
+
});
|
|
105
|
+
yield this.propagateDelayForGtfsTrip({
|
|
106
|
+
currentGtfsTripId: gtfs_trip_id,
|
|
107
|
+
currentOriginTimestamp: delayedPositions.position.properties.origin_timestamp,
|
|
108
|
+
currentDelay: delayedPositions.position.properties.delay,
|
|
109
|
+
currentRegistrationNumber: vehicle_registration_number,
|
|
110
|
+
currentStartTime: gtfsCurrentTrip.start_timestamp,
|
|
111
|
+
currentEndTime: gtfsCurrentTrip.end_timestamp,
|
|
112
|
+
nextGtfsTrips: gtfsNextTrips.map((trip) => {
|
|
113
|
+
return {
|
|
114
|
+
trip_id: trip.trip_id,
|
|
115
|
+
requiredTurnaroundSeconds: trip.requiredTurnaroundSeconds,
|
|
116
|
+
};
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.PropagateDelayTask = PropagateDelayTask;
|
|
125
|
+
//# sourceMappingURL=PropagateDelayTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropagateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { IMpvMessageInput } from "../interfaces/MpvMessageInterfaces";
|
|
3
|
+
import { SaveDataToDBValidationSchema } from "../schema/SaveDataToDBSchema";
|
|
4
|
+
export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
|
|
5
|
+
readonly queueName = "saveDataToDB";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof SaveDataToDBValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly positionsTransformation;
|
|
10
|
+
constructor(queuePrefix: string);
|
|
11
|
+
protected execute(data: IMpvMessageInput): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SaveDataToDBTask = void 0;
|
|
13
|
+
const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
|
|
14
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
15
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
16
|
+
const SaveDataToDBSchema_1 = require("../schema/SaveDataToDBSchema");
|
|
17
|
+
const PositionsTransformation_1 = require("../transformations/PositionsTransformation");
|
|
18
|
+
class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
19
|
+
constructor(queuePrefix) {
|
|
20
|
+
super(queuePrefix);
|
|
21
|
+
this.queueName = "saveDataToDB";
|
|
22
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
23
|
+
this.schema = SaveDataToDBSchema_1.SaveDataToDBValidationSchema;
|
|
24
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
25
|
+
this.positionsTransformation = new PositionsTransformation_1.PositionsTransformation();
|
|
26
|
+
}
|
|
27
|
+
execute(data) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const transformedData = yield this.positionsTransformation.transform(data.m.spoj);
|
|
30
|
+
const rows = yield this.tripsRepository.bulkUpsert(transformedData.trips);
|
|
31
|
+
// send message for update GTFSTripIds
|
|
32
|
+
for (let i = 0, chunkSize = 50; i < rows.inserted.length; i += chunkSize) {
|
|
33
|
+
const inserted = rows.inserted.slice(i, i + chunkSize);
|
|
34
|
+
const insertedIds = inserted.map((ins) => {
|
|
35
|
+
return ins.id;
|
|
36
|
+
});
|
|
37
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateGTFSTripId", {
|
|
38
|
+
trips: inserted,
|
|
39
|
+
positions: transformedData.positions.filter((position) => insertedIds.includes(position.trips_id)),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// send message for update delay
|
|
43
|
+
// aggregate runs by origin_route_name & sequence_id to keep related messages in same bulk
|
|
44
|
+
const runTripMap = rows.updated.length ? { unknown: [] } : {};
|
|
45
|
+
for (const trip of rows.updated) {
|
|
46
|
+
if (!trip.origin_route_name || !trip.sequence_id) {
|
|
47
|
+
runTripMap.unknown.push(trip.id);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const key = `${trip.origin_route_name}_${trip.sequence_id}`;
|
|
51
|
+
runTripMap[key] ? runTripMap[key].push(trip.id) : (runTripMap[key] = [trip.id]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const chunks = [];
|
|
55
|
+
let idx = 0;
|
|
56
|
+
for (const key in runTripMap) {
|
|
57
|
+
if (!chunks[idx]) {
|
|
58
|
+
chunks[idx] = [];
|
|
59
|
+
}
|
|
60
|
+
chunks[idx] = chunks[idx].concat(runTripMap[key]);
|
|
61
|
+
if (chunks[idx].length > 200) {
|
|
62
|
+
idx++;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
for (const key in chunks) {
|
|
66
|
+
const positions = transformedData.positions.filter((position) => chunks[key].includes(position.trips_id));
|
|
67
|
+
const updatedTrips = yield this.tripsRepository.findAllAssocTripIds(chunks[key]);
|
|
68
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
|
|
69
|
+
positions,
|
|
70
|
+
updatedTrips,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.SaveDataToDBTask = SaveDataToDBTask;
|
|
77
|
+
//# sourceMappingURL=SaveDataToDBTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { IUpdateDelayInput } from "../interfaces/IUpdateDelayInput";
|
|
3
|
+
import { UpdateDelayValidationSchema } from "../schema/UpdateDelaySchema";
|
|
4
|
+
export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
|
|
5
|
+
readonly queueName = "updateDelay";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof UpdateDelayValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly positionsRepository;
|
|
10
|
+
private readonly delayComputationRedisRepository;
|
|
11
|
+
private readonly tripStopsManager;
|
|
12
|
+
private readonly delayComputationManager;
|
|
13
|
+
constructor(queuePrefix: string);
|
|
14
|
+
protected execute(data: IUpdateDelayInput): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
17
|
+
*
|
|
18
|
+
* @param {IProcessedPositions[]} computedResult - Arrays of all newly computed positions
|
|
19
|
+
* @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
|
|
20
|
+
*/
|
|
21
|
+
private updateComputedPositionsAndTrips;
|
|
22
|
+
}
|
package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UpdateDelayTask = void 0;
|
|
16
|
+
const DelayComputationRedisRepository_1 = require("../../../../ropid-gtfs/data-access/DelayComputationRedisRepository");
|
|
17
|
+
const RopidGTFSStopTimesModel_1 = require("../../../../ropid-gtfs/RopidGTFSStopTimesModel");
|
|
18
|
+
const RopidGTFSTripsModel_1 = require("../../../../ropid-gtfs/RopidGTFSTripsModel");
|
|
19
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
20
|
+
const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
|
|
21
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
22
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
23
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
24
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
25
|
+
const TripStopsRedisRepository_1 = require("../data-access/TripStopsRedisRepository");
|
|
26
|
+
const DelayComputationManager_1 = require("../helpers/DelayComputationManager");
|
|
27
|
+
const PositionsManager_1 = __importDefault(require("../helpers/PositionsManager"));
|
|
28
|
+
const TripStopsManager_1 = require("../helpers/TripStopsManager");
|
|
29
|
+
const VPUtils_1 = require("../helpers/VPUtils");
|
|
30
|
+
const UpdateDelaySchema_1 = require("../schema/UpdateDelaySchema");
|
|
31
|
+
class UpdateDelayTask extends workers_1.AbstractTask {
|
|
32
|
+
constructor(queuePrefix) {
|
|
33
|
+
super(queuePrefix);
|
|
34
|
+
this.queueName = "updateDelay";
|
|
35
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
36
|
+
this.schema = UpdateDelaySchema_1.UpdateDelayValidationSchema;
|
|
37
|
+
/**
|
|
38
|
+
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
39
|
+
*
|
|
40
|
+
* @param {IProcessedPositions[]} computedResult - Arrays of all newly computed positions
|
|
41
|
+
* @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
|
|
42
|
+
*/
|
|
43
|
+
this.updateComputedPositionsAndTrips = (computedResult) => __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const positionsUpdated = yield this.positionsRepository.bulkUpdate(computedResult.flatMap((e) => e.positions));
|
|
45
|
+
const tripsUpdated = yield this.tripsRepository.bulkUpdate(computedResult.map((e) => ({
|
|
46
|
+
id: e.context.tripId,
|
|
47
|
+
last_position_id: e.context.lastPositionId,
|
|
48
|
+
last_position_context: e.context,
|
|
49
|
+
is_canceled: e.context.lastPositionCanceled,
|
|
50
|
+
})));
|
|
51
|
+
return {
|
|
52
|
+
positionsUpdated,
|
|
53
|
+
tripsUpdated,
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
57
|
+
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
58
|
+
this.delayComputationRedisRepository = new DelayComputationRedisRepository_1.DelayComputationRedisRepository();
|
|
59
|
+
const gtfsStopTimesRepository = new RopidGTFSStopTimesModel_1.RopidGTFSStopTimesModel();
|
|
60
|
+
const gtfsTripsRepository = new RopidGTFSTripsModel_1.RopidGTFSTripsModel();
|
|
61
|
+
const tripStopsRedisRepository = new TripStopsRedisRepository_1.TripStopsRedisRepository();
|
|
62
|
+
this.tripStopsManager = new TripStopsManager_1.TripStopsManager(gtfsStopTimesRepository, tripStopsRedisRepository);
|
|
63
|
+
this.delayComputationManager = new DelayComputationManager_1.DelayComputationManager(gtfsTripsRepository);
|
|
64
|
+
}
|
|
65
|
+
execute(data) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const tripIds = data.updatedTrips.map((trip) => trip.id);
|
|
69
|
+
if (((_a = data.positions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
70
|
+
// unique ids in input data in key-value (id-positions) structure
|
|
71
|
+
let positionsByIds = {};
|
|
72
|
+
for (const position of data.positions) {
|
|
73
|
+
positionsByIds[position.trips_id] = position;
|
|
74
|
+
}
|
|
75
|
+
// unique block_ids and its parent input trips_id in key-value structure
|
|
76
|
+
let tripsIdsByBlockIds = {};
|
|
77
|
+
// unique block_ids and its parent gtfs_trip_id in key-value structure
|
|
78
|
+
let gtfsTripIdsByBlockIds = {};
|
|
79
|
+
for (const trip of data.updatedTrips) {
|
|
80
|
+
if (!trip.gtfs_block_id) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
|
|
84
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// save only the shorter trip_id (it is the raw input id with no suffixes)
|
|
88
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] =
|
|
89
|
+
tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
90
|
+
}
|
|
91
|
+
if (!gtfsTripIdsByBlockIds[trip.gtfs_block_id]) {
|
|
92
|
+
gtfsTripIdsByBlockIds[trip.gtfs_block_id] = new Set();
|
|
93
|
+
}
|
|
94
|
+
if (trip.gtfs_trip_id) {
|
|
95
|
+
gtfsTripIdsByBlockIds[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Get cached schedule for each unique block_id
|
|
99
|
+
const tripStopsSchedulesByBlockIds = yield Object.entries(gtfsTripIdsByBlockIds).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const tripStops = yield acc;
|
|
101
|
+
try {
|
|
102
|
+
const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
103
|
+
tripStops[blockId] = schedule;
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
helpers_1.IntegrationErrorHandler.handle(err);
|
|
107
|
+
}
|
|
108
|
+
return acc;
|
|
109
|
+
}), Promise.resolve({}));
|
|
110
|
+
// duplicate positions for trips with block_ids
|
|
111
|
+
for (const trip of data.updatedTrips) {
|
|
112
|
+
if (positionsByIds[trip.id]) {
|
|
113
|
+
if (trip.gtfs_block_id) {
|
|
114
|
+
// Determine current position tracking status
|
|
115
|
+
positionsByIds[trip.id].tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, tripStopsSchedulesByBlockIds[trip.gtfs_block_id], positionsByIds[trip.id]);
|
|
116
|
+
}
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const currentPosition = data.positions.find((position) => {
|
|
120
|
+
return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
|
|
121
|
+
});
|
|
122
|
+
if (!currentPosition) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
// Determine position duplication and new position tracking status
|
|
126
|
+
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(tripStopsSchedulesByBlockIds[trip.gtfs_block_id], trip, currentPosition);
|
|
127
|
+
// duplicate position with new created trip for second trip
|
|
128
|
+
const newPosition = Object.assign({}, currentPosition);
|
|
129
|
+
newPosition.trips_id = trip.id;
|
|
130
|
+
newPosition.tracking = newPositionTrackingStatus;
|
|
131
|
+
data.positions.push(newPosition);
|
|
132
|
+
}
|
|
133
|
+
// save all new positions
|
|
134
|
+
yield this.positionsRepository.save(data.positions);
|
|
135
|
+
}
|
|
136
|
+
if (((_b = data.updatedTrips) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
137
|
+
try {
|
|
138
|
+
// Get all positions for each trip
|
|
139
|
+
const tripsPositionsToUpdate = yield this.positionsRepository.getPositionsForUpdateDelay(tripIds);
|
|
140
|
+
// Append gtfs data to each trip
|
|
141
|
+
const tripsPositionsWithOrWithoutGTFSDataToUpdate = yield Promise.all(tripsPositionsToUpdate.map((trip) => __awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
const gtfsData = (yield this.delayComputationRedisRepository.get(trip.gtfs_trip_id));
|
|
143
|
+
return Object.assign(Object.assign({}, trip), { gtfsData });
|
|
144
|
+
})));
|
|
145
|
+
// Process every position
|
|
146
|
+
const processedPositions = yield Promise.all(tripsPositionsWithOrWithoutGTFSDataToUpdate.map((trip) => __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
// if gtfs shape points and schedules data is not ready, calculate it first
|
|
148
|
+
if (trip.gtfsData === null) {
|
|
149
|
+
helpers_1.log.debug("Delay Computation data (Redis) was not found. (gtfsTripId = " + trip.gtfs_trip_id + ")");
|
|
150
|
+
try {
|
|
151
|
+
const gtfsComputationData = yield this.delayComputationManager.getComputationObject(trip.gtfs_trip_id);
|
|
152
|
+
yield this.delayComputationRedisRepository.set("trip_id", gtfsComputationData, VPUtils_1.VPUtils.DELAY_COMPUTATION_CACHE_TTL);
|
|
153
|
+
trip.gtfsData = gtfsComputationData;
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return PositionsManager_1.default.computePositions(trip, data.schedule);
|
|
160
|
+
})));
|
|
161
|
+
const validProcessedPositions = processedPositions.filter((e) => !!e);
|
|
162
|
+
yield this.updateComputedPositionsAndTrips(validProcessedPositions);
|
|
163
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "propagateDelay", {
|
|
164
|
+
processedPositions: validProcessedPositions,
|
|
165
|
+
trips: data.updatedTrips,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
throw new golemio_errors_1.CustomError(`Error while updating delay. For trip ids:${tripIds.slice(0, 10).join(",")}`, true, this.constructor.name, 5001, err);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.UpdateDelayTask = UpdateDelayTask;
|
|
176
|
+
//# sourceMappingURL=UpdateDelayTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
import { IUpdateGtfsTripIdInput } from "../interfaces/IUpdateGtfsTripIdInput";
|
|
3
|
+
import { UpdateGtfsTripIdValidationSchema } from "../schema/UpdateGtfsTripIdSchema";
|
|
4
|
+
export declare class UpdateGtfsTripIdTask extends AbstractTask<IUpdateGtfsTripIdInput> {
|
|
5
|
+
readonly queueName = "updateGTFSTripId";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof UpdateGtfsTripIdValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly positionsRepository;
|
|
10
|
+
private readonly gtfsStopTimesRepository;
|
|
11
|
+
private readonly gtfsTripRunManager;
|
|
12
|
+
private readonly tripStopsManager;
|
|
13
|
+
constructor(queuePrefix: string);
|
|
14
|
+
/**
|
|
15
|
+
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
16
|
+
*/
|
|
17
|
+
protected execute(data: IUpdateGtfsTripIdInput): Promise<void>;
|
|
18
|
+
}
|