diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-23 21:33:17 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-23 21:33:17 +0100 |
| commit | 4a866f5352a51916ddb9849b2d68213856196c9c (patch) | |
| tree | 3ba01ba01d5f6931adaf708b76ffccdd798fc78b /src/Costasdev.Busurbano.Backend/Controllers | |
| parent | 87417c313b455ba0dee19708528cc8d0b830a276 (diff) | |
Full real-time page, coruña real time
Diffstat (limited to 'src/Costasdev.Busurbano.Backend/Controllers')
| -rw-r--r-- | src/Costasdev.Busurbano.Backend/Controllers/ArrivalsController.cs | 20 | ||||
| -rw-r--r-- | src/Costasdev.Busurbano.Backend/Controllers/TileController.cs | 3 |
2 files changed, 20 insertions, 3 deletions
diff --git a/src/Costasdev.Busurbano.Backend/Controllers/ArrivalsController.cs b/src/Costasdev.Busurbano.Backend/Controllers/ArrivalsController.cs index 934935e..61a003e 100644 --- a/src/Costasdev.Busurbano.Backend/Controllers/ArrivalsController.cs +++ b/src/Costasdev.Busurbano.Backend/Controllers/ArrivalsController.cs @@ -2,6 +2,7 @@ using Costasdev.Busurbano.Backend.GraphClient; using Costasdev.Busurbano.Backend.GraphClient.App; using Costasdev.Busurbano.Backend.Services; +using Costasdev.Busurbano.Backend.Types; using Costasdev.Busurbano.Backend.Types.Arrivals; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; @@ -87,7 +88,8 @@ public partial class ArrivalsController : ControllerBase //var isRunning = departureTime < nowLocal; // TODO: Handle this properly, since many times it's "tomorrow" but not handled properly - if (minutesToArrive < ArrivalsAtStopContent.PastArrivalMinutesIncluded) + var threshold = ShouldFetchPastArrivals(id) ? ArrivalsAtStopContent.PastArrivalMinutesIncluded : 0; + if (minutesToArrive < threshold) { continue; } @@ -97,6 +99,7 @@ public partial class ArrivalsController : ControllerBase TripId = item.Trip.GtfsId, Route = new RouteInfo { + GtfsId = item.Trip.Route.GtfsId, ShortName = item.Trip.RouteShortName, Colour = item.Trip.Route.Color ?? "FFFFFF", TextColour = item.Trip.Route.TextColor ?? "000000" @@ -122,7 +125,8 @@ public partial class ArrivalsController : ControllerBase StopCode = stop.Code, IsReduced = reduced, Arrivals = arrivals, - NowLocal = nowLocal + NowLocal = nowLocal, + StopLocation = new Position { Latitude = stop.Lat, Longitude = stop.Lon } }); var feedId = id.Split(':')[0]; @@ -131,6 +135,18 @@ public partial class ArrivalsController : ControllerBase { StopCode = _feedService.NormalizeStopCode(feedId, stop.Code), StopName = _feedService.NormalizeStopName(feedId, stop.Name), + StopLocation = new Position + { + Latitude = stop.Lat, + Longitude = stop.Lon + }, + Routes = stop.Routes.Select(r => new RouteInfo + { + GtfsId = r.GtfsId, + ShortName = _feedService.NormalizeRouteShortName(feedId, r.ShortName ?? ""), + Colour = r.Color ?? "FFFFFF", + TextColour = r.TextColor ?? "000000" + }).ToList(), Arrivals = arrivals }); } diff --git a/src/Costasdev.Busurbano.Backend/Controllers/TileController.cs b/src/Costasdev.Busurbano.Backend/Controllers/TileController.cs index 0e9d21b..f3fe51c 100644 --- a/src/Costasdev.Busurbano.Backend/Controllers/TileController.cs +++ b/src/Costasdev.Busurbano.Backend/Controllers/TileController.cs @@ -97,6 +97,7 @@ public class TileController : ControllerBase return; } + // TODO: Duplicate from ArrivalsController var (Color, TextColor) = _feedService.GetFallbackColourForFeed(idParts[0]); var distinctRoutes = GetDistinctRoutes(feedId, stop.Routes ?? []); @@ -166,7 +167,7 @@ public class TileController : ControllerBase foreach (var route in routes) { - var seenId = _feedService.NormalizeRouteShortName(feedId, route.ShortName ?? string.Empty); + var seenId = _feedService.GetUniqueRouteShortName(feedId, route.ShortName ?? string.Empty); route.ShortName = seenId; if (seen.Contains(seenId)) |
