@golemio/pid 2.4.1-dev.756038965 → 2.4.1-dev.756186448
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/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 +3 -3
- 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} +21 -17
- 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 +96 -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} +6 -7
- 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} +18 -66
- package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.js → workers/vehicle-positions/data-access/TripsRepository.js} +34 -55
- 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} +7 -7
- 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 +3 -3
- package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.js +3 -3
- 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 +2 -2
- 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} +6 -6
- 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 +16 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +110 -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/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 +80 -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 +123 -50
- package/package.json +1 -1
- 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 -897
- 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 -26
- 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 -58
- 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 +0 -19
- 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,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":";;;;;;;;;;;;AAAA,2FAAqF;AACrF,2EAA6E;AAC7E,oEAAiE;AAEjE,qEAA4E;AAC5E,wFAAqF;AAErF,MAAa,gBAAiB,SAAQ,sBAA8B;IAQhE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,cAAc,CAAC;QAC3B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,iDAA4B,CAAC;QAOlD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAC;IACjE,CAAC;IAEe,OAAO,CAAC,IAAsB;;YAC1C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE1E,sCAAsC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACrC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE;oBAC3E,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACrG,CAAC,CAAC;aACN;YAED,gCAAgC;YAChC,0FAA0F;YAC1F,MAAM,UAAU,GAA6B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACpC;qBAAM;oBACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5D,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACnF;aACJ;YAED,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBACd,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACpB;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;oBAC1B,GAAG,EAAE,CAAC;iBACT;aACJ;YAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;gBACtB,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEjF,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE;oBACtE,SAAS;oBACT,YAAY;iBACf,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ;AAlED,4CAkEC"}
|
|
@@ -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 = "propagateDelay";
|
|
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 = "propagateDelay";
|
|
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
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
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.UpdateGtfsTripIdTask = void 0;
|
|
13
|
+
const RopidGTFSStopTimesModel_1 = require("../../../../ropid-gtfs/RopidGTFSStopTimesModel");
|
|
14
|
+
const CommonRunsRepository_1 = require("../../runs/data-access/CommonRunsRepository");
|
|
15
|
+
const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
|
|
16
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
17
|
+
const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
|
|
18
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
19
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
20
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
21
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
22
|
+
const TripStopsRedisRepository_1 = require("../data-access/TripStopsRedisRepository");
|
|
23
|
+
const GTFSTripRunManagerFactory_1 = require("../helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
|
|
24
|
+
const TripStopsManager_1 = require("../helpers/TripStopsManager");
|
|
25
|
+
const VPUtils_1 = require("../helpers/VPUtils");
|
|
26
|
+
const UpdateGtfsTripIdSchema_1 = require("../schema/UpdateGtfsTripIdSchema");
|
|
27
|
+
class UpdateGtfsTripIdTask extends workers_1.AbstractTask {
|
|
28
|
+
constructor(queuePrefix) {
|
|
29
|
+
super(queuePrefix);
|
|
30
|
+
this.queueName = "updateGTFSTripId";
|
|
31
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
32
|
+
this.schema = UpdateGtfsTripIdSchema_1.UpdateGtfsTripIdValidationSchema;
|
|
33
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
34
|
+
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
35
|
+
this.gtfsStopTimesRepository = new RopidGTFSStopTimesModel_1.RopidGTFSStopTimesModel();
|
|
36
|
+
const commonRunsRepository = new CommonRunsRepository_1.CommonRunsRepository();
|
|
37
|
+
const runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
|
|
38
|
+
const tripStopsRedisRepository = new TripStopsRedisRepository_1.TripStopsRedisRepository();
|
|
39
|
+
this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Common, this.positionsRepository, this.tripsRepository, commonRunsRepository, runTripsRedisRepository);
|
|
40
|
+
this.tripStopsManager = new TripStopsManager_1.TripStopsManager(this.gtfsStopTimesRepository, tripStopsRedisRepository);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Take all newly computed positions and save it, then save the last ones to the trips
|
|
44
|
+
*/
|
|
45
|
+
execute(data) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
// unique ids in input data in key-value (id-positions) structure
|
|
48
|
+
let positionsByIds = {};
|
|
49
|
+
for (const position of data.positions) {
|
|
50
|
+
positionsByIds[position.trips_id] = position;
|
|
51
|
+
}
|
|
52
|
+
// find and set schedules for trips
|
|
53
|
+
yield Promise.all(data.trips.map((trip) => {
|
|
54
|
+
if (!trip.origin_route_name || !trip.sequence_id || !positionsByIds[trip.id].origin_timestamp)
|
|
55
|
+
return;
|
|
56
|
+
const timestampLast = new Date(positionsByIds[trip.id].origin_timestamp).toISOString();
|
|
57
|
+
return this.gtfsTripRunManager.setAndReturnScheduledTrips({
|
|
58
|
+
route_id: trip.origin_route_name,
|
|
59
|
+
run_number: trip.sequence_id,
|
|
60
|
+
msg_last_timestamp: timestampLast,
|
|
61
|
+
});
|
|
62
|
+
}));
|
|
63
|
+
// find gtfs data for each trip
|
|
64
|
+
const promiseValues = yield Promise.all(data.trips.map((trip) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
try {
|
|
66
|
+
return yield this.tripsRepository.findGTFSTripId(trip);
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
helpers_1.log.error(err);
|
|
70
|
+
return err;
|
|
71
|
+
}
|
|
72
|
+
})));
|
|
73
|
+
let existingTripsPromiseValues = [], existingTripsPromiseErrors = [];
|
|
74
|
+
// filter only trips with found gtfs data
|
|
75
|
+
for (const trip of promiseValues) {
|
|
76
|
+
if (trip instanceof golemio_errors_1.CustomError) {
|
|
77
|
+
existingTripsPromiseErrors.push(trip);
|
|
78
|
+
}
|
|
79
|
+
else if (trip instanceof Array) {
|
|
80
|
+
existingTripsPromiseValues.push(...trip);
|
|
81
|
+
}
|
|
82
|
+
else if ((trip === null || trip === void 0 ? void 0 : trip.constructor) === Object) {
|
|
83
|
+
existingTripsPromiseValues.push(trip);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
let tripsByBlockId = {};
|
|
87
|
+
for (const trip of existingTripsPromiseValues) {
|
|
88
|
+
if (!trip.gtfs_block_id || !trip.gtfs_trip_id)
|
|
89
|
+
continue;
|
|
90
|
+
if (!tripsByBlockId[trip.gtfs_block_id]) {
|
|
91
|
+
tripsByBlockId[trip.gtfs_block_id] = new Set();
|
|
92
|
+
}
|
|
93
|
+
tripsByBlockId[trip.gtfs_block_id].add(trip.gtfs_trip_id);
|
|
94
|
+
}
|
|
95
|
+
// create cache for trip stops (grouped by block id)
|
|
96
|
+
const tripStopsSchedulesByBlockIds = yield Object.entries(tripsByBlockId).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const tripStops = yield acc;
|
|
98
|
+
try {
|
|
99
|
+
tripStops[blockId] = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
helpers_1.IntegrationErrorHandler.handle(err);
|
|
103
|
+
}
|
|
104
|
+
return acc;
|
|
105
|
+
}), Promise.resolve({}));
|
|
106
|
+
let currentPosition;
|
|
107
|
+
for (const trip of existingTripsPromiseValues) {
|
|
108
|
+
if (positionsByIds[trip.id]) {
|
|
109
|
+
currentPosition = positionsByIds[trip.id];
|
|
110
|
+
if (trip.gtfs_block_id) {
|
|
111
|
+
// Determine current position tracking status
|
|
112
|
+
currentPosition.tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, tripStopsSchedulesByBlockIds[trip.gtfs_block_id], currentPosition);
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (!currentPosition) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
// Determine new position tracking status
|
|
120
|
+
const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(tripStopsSchedulesByBlockIds[trip.gtfs_block_id], trip, currentPosition);
|
|
121
|
+
// duplicate position with new created trip for second trip
|
|
122
|
+
const newPosition = Object.assign({}, currentPosition);
|
|
123
|
+
newPosition.trips_id = trip.id;
|
|
124
|
+
newPosition.tracking = newPositionTrackingStatus;
|
|
125
|
+
data.positions.push(newPosition);
|
|
126
|
+
}
|
|
127
|
+
yield this.positionsRepository.save(data.positions);
|
|
128
|
+
// successfully updated gtfs ids
|
|
129
|
+
for (let i = 0, chunkSize = 100, imax = existingTripsPromiseValues.length; i < imax; i += chunkSize) {
|
|
130
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
|
|
131
|
+
positions: [],
|
|
132
|
+
updatedTrips: existingTripsPromiseValues.slice(i, i + chunkSize),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// gtfsId updating errors
|
|
136
|
+
for (let i = 0, imax = existingTripsPromiseErrors.length; i < imax; i++) {
|
|
137
|
+
helpers_1.IntegrationErrorHandler.handle(existingTripsPromiseErrors[i]);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.UpdateGtfsTripIdTask = UpdateGtfsTripIdTask;
|
|
143
|
+
//# sourceMappingURL=UpdateGtfsTripIdTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ICommonRunWithMessage } from "../../runs/interfaces/ICommonRunWithMessage";
|
|
2
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
3
|
+
import { UpdateRunsGtfsTripIdValidationSchema } from "../schema/UpdateRunsGtfsTripIdSchema";
|
|
4
|
+
export declare class UpdateRunsGtfsTripIdTask extends AbstractTask<ICommonRunWithMessage> {
|
|
5
|
+
readonly queueName = "updateRunsGTFSTripId";
|
|
6
|
+
readonly queueTtl: number;
|
|
7
|
+
readonly schema: typeof UpdateRunsGtfsTripIdValidationSchema;
|
|
8
|
+
private readonly tripsRepository;
|
|
9
|
+
private readonly positionsRepository;
|
|
10
|
+
private readonly commonRunsRepository;
|
|
11
|
+
private readonly runTripsRedisRepository;
|
|
12
|
+
private readonly gtfsTripRunManager;
|
|
13
|
+
constructor(queuePrefix: string);
|
|
14
|
+
/**
|
|
15
|
+
* Process trips from runs data
|
|
16
|
+
*/
|
|
17
|
+
protected execute(data: ICommonRunWithMessage): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Process not public trips from runs data
|
|
20
|
+
*/
|
|
21
|
+
private updateNotPublicRunTrip;
|
|
22
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
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.UpdateRunsGtfsTripIdTask = void 0;
|
|
13
|
+
const CommonRunsRepository_1 = require("../../runs/data-access/CommonRunsRepository");
|
|
14
|
+
const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
|
|
15
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
16
|
+
const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
|
|
17
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
18
|
+
const const_1 = require("../../../../../const");
|
|
19
|
+
const PositionsRepository_1 = require("../data-access/PositionsRepository");
|
|
20
|
+
const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
21
|
+
const GTFSTripRunManagerFactory_1 = require("../helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
|
|
22
|
+
const UpdateRunsGtfsTripIdSchema_1 = require("../schema/UpdateRunsGtfsTripIdSchema");
|
|
23
|
+
class UpdateRunsGtfsTripIdTask extends workers_1.AbstractTask {
|
|
24
|
+
constructor(queuePrefix) {
|
|
25
|
+
super(queuePrefix);
|
|
26
|
+
this.queueName = "updateRunsGTFSTripId";
|
|
27
|
+
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
28
|
+
this.schema = UpdateRunsGtfsTripIdSchema_1.UpdateRunsGtfsTripIdValidationSchema;
|
|
29
|
+
/**
|
|
30
|
+
* Process not public trips from runs data
|
|
31
|
+
*/
|
|
32
|
+
this.updateNotPublicRunTrip = (input) => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const id = `NOT_PUBLIC_${input.run.route_id}_${input.run.run_number}_` +
|
|
34
|
+
`${input.run.msg_start_timestamp}_${input.run.registration_number}`;
|
|
35
|
+
const createdPosition = yield this.positionsRepository.createNotPublic(input, id);
|
|
36
|
+
yield this.tripsRepository.upsertNotPublic(input, id, createdPosition.toJSON().id);
|
|
37
|
+
return;
|
|
38
|
+
});
|
|
39
|
+
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
40
|
+
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
41
|
+
this.commonRunsRepository = new CommonRunsRepository_1.CommonRunsRepository();
|
|
42
|
+
this.runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
|
|
43
|
+
this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Common, this.positionsRepository, this.tripsRepository, this.commonRunsRepository, this.runTripsRedisRepository);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Process trips from runs data
|
|
47
|
+
*/
|
|
48
|
+
execute(data) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const schedule = yield this.gtfsTripRunManager.setAndReturnScheduledTrips(data.run);
|
|
51
|
+
if (schedule.length === 0) {
|
|
52
|
+
if (const_1.ArrayNotPublicRegistrationNumbers.includes(data.run.registration_number)) {
|
|
53
|
+
yield this.updateNotPublicRunTrip(data);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
helpers_1.log.verbose(`updateRunsGTFSTripId: no schedule for run: ${JSON.stringify(data.run)}`);
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (!data.run_message.actual_stop_timestamp_scheduled) {
|
|
61
|
+
helpers_1.log.warn(`updateRunsGTFSTripId: actualStopTimestampScheduled is not provided for current run: ${JSON.stringify(data.run)}`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(schedule, data);
|
|
65
|
+
// send to updateDelay only if there are some trips updated
|
|
66
|
+
if (delayMsg.updatedTrips.length > 0) {
|
|
67
|
+
yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", delayMsg);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.UpdateRunsGtfsTripIdTask = UpdateRunsGtfsTripIdTask;
|
|
73
|
+
//# sourceMappingURL=UpdateRunsGtfsTripIdTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateRunsGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sFAA2G;AAC3G,4FAAiH;AAEjH,2EAAoE;AACpE,2FAAqF;AACrF,2EAA6E;AAC7E,gDAA8D;AAC9D,4EAAyE;AACzE,oEAAiE;AAEjE,kGAAgH;AAChH,qFAA4F;AAE5F,MAAa,wBAAyB,SAAQ,sBAAmC;IAW7E,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAXP,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,iEAAoC,CAAC;QAsD9D;;WAEG;QACK,2BAAsB,GAAG,CAAO,KAA4B,EAAE,EAAE;YACpE,MAAM,EAAE,GACJ,cAAc,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG;gBAC3D,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACxE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO;QACX,CAAC,CAAA,CAAC;QAtDE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAE7D,IAAI,CAAC,kBAAkB,GAAG,qDAAyB,CAAC,MAAM,CACtD,2CAAe,CAAC,MAAM,EACtB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,uBAAuB,CAC/B,CAAC;IACN,CAAC;IAED;;OAEG;IACa,OAAO,CAAC,IAA2B;;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,IAAI,yCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;oBAC1E,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;iBAC3C;qBAAM;oBACH,aAAG,CAAC,OAAO,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACzF;gBACD,OAAO;aACV;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE;gBACnD,aAAG,CAAC,IAAI,CACJ,uFAAuF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpH,CAAC;gBACF,OAAO;aACV;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEhF,2DAA2D;YAC3D,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;aACvF;QACL,CAAC;KAAA;CAaJ;AApED,4DAoEC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
2
|
+
import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
3
|
+
import { IMpvPositionContent } from "../interfaces/MpvMessageInterfaces";
|
|
4
|
+
import { IPositionTransformationResult, IStopTransformationResult, ITripTransformationResult } from "../interfaces/TransformationInterfaces";
|
|
5
|
+
interface ITransformationResult {
|
|
6
|
+
positions: IPositionTransformationResult[];
|
|
7
|
+
stops: IStopTransformationResult[];
|
|
8
|
+
trips: ITripTransformationResult[];
|
|
9
|
+
}
|
|
10
|
+
interface ITransformationElement {
|
|
11
|
+
position: IPositionTransformationResult;
|
|
12
|
+
stops: IStopTransformationResult[];
|
|
13
|
+
trip: ITripTransformationResult;
|
|
14
|
+
}
|
|
15
|
+
export declare class PositionsTransformation extends BaseTransformation implements ITransformation {
|
|
16
|
+
name: string;
|
|
17
|
+
private static ORIGIN_TIME_FORMAT;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Overrides BaseTransformation::transform
|
|
21
|
+
*/
|
|
22
|
+
transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
|
|
23
|
+
protected transformElement: (element: IMpvPositionContent) => Promise<ITransformationElement | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Deduce UTC timestamp of start of trip and UTC timestamp of current position
|
|
26
|
+
*
|
|
27
|
+
* @param {any} firstStopXML - parsed object of first stop
|
|
28
|
+
* @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
|
|
29
|
+
* @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
|
|
30
|
+
*/
|
|
31
|
+
protected deduceTimestamps: (firstStopXML: any, positionTimestampXML: string) => Promise<{
|
|
32
|
+
startTimestamp: Moment;
|
|
33
|
+
positionTimestamp: Moment;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
|
|
37
|
+
*
|
|
38
|
+
* @param {Moment} now - Moment of position
|
|
39
|
+
* @param {Moment} start - Moment of start of trip
|
|
40
|
+
* @returns {number}
|
|
41
|
+
*/
|
|
42
|
+
private checkMidnight;
|
|
43
|
+
/**
|
|
44
|
+
* Fix source negative bearing value due to overflow by adding 256
|
|
45
|
+
*
|
|
46
|
+
* @param {number} bearing
|
|
47
|
+
* @returns {number}
|
|
48
|
+
*/
|
|
49
|
+
private fixSourceNegativeBearing;
|
|
50
|
+
/**
|
|
51
|
+
* Format input stop id from DPP agency (XXX000Y to XXX/Y) to ASW id
|
|
52
|
+
*
|
|
53
|
+
* @param {string} stopId
|
|
54
|
+
* @returns {stringList}
|
|
55
|
+
*/
|
|
56
|
+
private formatASWStopId;
|
|
57
|
+
}
|
|
58
|
+
export {};
|