summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2026-03-13 16:55:40 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2026-03-13 16:55:40 +0100
commit5c670f1b4a237b7a5197dfcf94de92095da95463 (patch)
tree3eed5244c50905dceaa86228349a4aac7cd7de03
parentee69c62adc5943a1dbd154df5142c0e726bdd317 (diff)
Fix circular routes not having schedule data because of a dumb IF condition
-rw-r--r--src/Enmarcha.Backend/Controllers/ArrivalsController.cs5
-rw-r--r--src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs18
2 files changed, 13 insertions, 10 deletions
diff --git a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
index 7ca3ab9..03286c4 100644
--- a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
+++ b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
@@ -167,7 +167,10 @@ public partial class ArrivalsController : ControllerBase
foreach (var item in stop.Arrivals)
{
if (item.PickupTypeParsed.Equals(ArrivalsAtStopResponse.PickupType.None)) continue;
- if (item.Trip.ArrivalStoptime.Stop.GtfsId == id) continue;
+ if (
+ item.Trip.ArrivalStoptime.Stop.GtfsId == id &&
+ item.Trip.DepartureStoptime.Stop.GtfsId != id
+ ) continue;
var serviceDayLocal = TimeZoneInfo.ConvertTime(DateTimeOffset.FromUnixTimeSeconds(item.ServiceDay), tz);
var departureTime = serviceDayLocal.Date.AddSeconds(item.ScheduledDepartureSeconds);
diff --git a/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs b/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs
index 6e89f08..49dbd43 100644
--- a/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs
+++ b/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs
@@ -46,6 +46,9 @@ public class ArrivalsAtStopContent : IGraphRequest<ArrivalsAtStopContent.Args>
}}
departureStoptime {{
scheduledDeparture
+ stop {{
+ gtfsId
+ }}
}}
arrivalStoptime {{
stop {{
@@ -120,10 +123,10 @@ public class ArrivalsAtStopResponse : AbstractGraphResponse
[JsonPropertyName("tripHeadsign")] public string? TripHeadsign { get; set; }
[JsonPropertyName("departureStoptime")]
- public required DepartureStoptime DepartureStoptime { get; set; }
+ public required TerminusStoptime DepartureStoptime { get; set; }
[JsonPropertyName("arrivalStoptime")]
- public required ArrivalStoptime ArrivalStoptime { get; set; }
+ public required TerminusStoptime ArrivalStoptime { get; set; }
[JsonPropertyName("route")] public required RouteDetails Route { get; set; }
@@ -158,18 +161,15 @@ public class ArrivalsAtStopResponse : AbstractGraphResponse
[JsonPropertyName("lon")] public double Lon { get; set; }
}
- public class DepartureStoptime
+ public class TerminusStoptime
{
[JsonPropertyName("scheduledDeparture")]
- public int ScheduledDeparture { get; set; }
- }
+ public int? ScheduledDeparture { get; set; }
- public class ArrivalStoptime
- {
- [JsonPropertyName("stop")] public ArrivalStoptimeStop Stop { get; set; }
+ [JsonPropertyName("stop")] public TerminusStoptimeStop Stop { get; set; }
}
- public class ArrivalStoptimeStop
+ public class TerminusStoptimeStop
{
[JsonPropertyName("gtfsId")] public required string GtfsId { get; set; }
}