aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Controllers
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-12-23 21:33:17 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-12-23 21:33:17 +0100
commit4a866f5352a51916ddb9849b2d68213856196c9c (patch)
tree3ba01ba01d5f6931adaf708b76ffccdd798fc78b /src/Costasdev.Busurbano.Backend/Controllers
parent87417c313b455ba0dee19708528cc8d0b830a276 (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.cs20
-rw-r--r--src/Costasdev.Busurbano.Backend/Controllers/TileController.cs3
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))