diff options
Diffstat (limited to 'src/Enmarcha.Backend/Controllers')
4 files changed, 8 insertions, 82 deletions
diff --git a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs index 7260fb4..a23c69c 100644 --- a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs +++ b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs @@ -1,4 +1,4 @@ -using System.Net; +using System.Net; using Enmarcha.Sources.OpenTripPlannerGql; using Enmarcha.Sources.OpenTripPlannerGql.Queries; using Enmarcha.Backend.Configuration; @@ -87,11 +87,6 @@ public partial class ArrivalsController : ControllerBase continue; } - if (item.Trip.Geometry?.Points != null) - { - _logger.LogDebug("Trip {TripId} has geometry", item.Trip.GtfsId); - } - // Calculate departure time using the service day in the feed's timezone (Europe/Madrid) // This ensures we treat ScheduledDepartureSeconds as relative to the local midnight of the service day var serviceDayLocal = TimeZoneInfo.ConvertTime(DateTimeOffset.FromUnixTimeSeconds(item.ServiceDay), tz); diff --git a/src/Enmarcha.Backend/Controllers/RoutePlannerController.cs b/src/Enmarcha.Backend/Controllers/RoutePlannerController.cs index 7a03a24..89f6c59 100644 --- a/src/Enmarcha.Backend/Controllers/RoutePlannerController.cs +++ b/src/Enmarcha.Backend/Controllers/RoutePlannerController.cs @@ -3,6 +3,7 @@ using Enmarcha.Sources.OpenTripPlannerGql; using Enmarcha.Sources.OpenTripPlannerGql.Queries; using Enmarcha.Backend.Configuration; using Enmarcha.Backend.Services; +using Enmarcha.Backend.Services.Geocoding; using Enmarcha.Backend.Types.Planner; using FuzzySharp; using Microsoft.AspNetCore.Mvc; @@ -57,7 +58,7 @@ public partial class RoutePlannerController : ControllerBase await Task.WhenAll(nominatimTask, stopsTask); - var nominatimResults = await nominatimTask; + var geocodingResults = await nominatimTask; var allStops = await stopsTask; // Fuzzy search stops @@ -65,14 +66,14 @@ public partial class RoutePlannerController : ControllerBase query, allStops.Select(s => s.Name ?? string.Empty), cutoff: 60 - ).Take(5).Select(r => allStops[r.Index]).ToList(); + ).Take(4).Select(r => allStops[r.Index]).ToList(); - // Merge results: stops first, then nominatim, deduplicating by coordinates (approx) - var finalResults = new List<PlannerSearchResult>(fuzzyResults); + // Merge results: geocoding first, then stops, deduplicating by coordinates (approx) + var finalResults = new List<PlannerSearchResult>(geocodingResults); - foreach (var res in nominatimResults) + foreach (var res in fuzzyResults) { - if (!finalResults.Any(f => Math.Abs(f.Lat - res.Lat) < 0.0001 && Math.Abs(f.Lon - res.Lon) < 0.0001)) + if (!finalResults.Any(f => Math.Abs(f.Lat - res.Lat) < 0.00001 && Math.Abs(f.Lon - res.Lon) < 0.00001)) { finalResults.Add(res); } diff --git a/src/Enmarcha.Backend/Controllers/TransitController.cs b/src/Enmarcha.Backend/Controllers/TransitController.cs index 62b3725..00e5fb7 100644 --- a/src/Enmarcha.Backend/Controllers/TransitController.cs +++ b/src/Enmarcha.Backend/Controllers/TransitController.cs @@ -62,7 +62,6 @@ public class TransitController : ControllerBase var routes = response.Data.Routes .Select(_otpService.MapRoute) - .Where(r => r.TripCount > 0) .OrderBy(r => r.ShortName, Comparer<string?>.Create(SortingHelper.SortRouteShortNames)) .ToList(); diff --git a/src/Enmarcha.Backend/Controllers/VigoController.cs b/src/Enmarcha.Backend/Controllers/VigoController.cs deleted file mode 100644 index 4199251..0000000 --- a/src/Enmarcha.Backend/Controllers/VigoController.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Costasdev.VigoTransitApi; -using Enmarcha.Backend.Configuration; -using Enmarcha.Backend.Services; -using Enmarcha.Backend.Services.Providers; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Options; - -namespace Enmarcha.Backend.Controllers; - -[ApiController] -[Route("api/vigo")] -public partial class VigoController : ControllerBase -{ - private readonly ILogger<VigoController> _logger; - private readonly VigoTransitApiClient _api; - private readonly AppConfiguration _configuration; - private readonly ShapeTraversalService _shapeService; - private readonly VitrasaTransitProvider _vitrasaProvider; - private readonly RenfeTransitProvider _renfeProvider; - - public VigoController( - HttpClient http, - IOptions<AppConfiguration> options, - ILogger<VigoController> logger, - ShapeTraversalService shapeService, - VitrasaTransitProvider vitrasaProvider, - RenfeTransitProvider renfeProvider) - { - _logger = logger; - _api = new VigoTransitApiClient(http); - _configuration = options.Value; - _shapeService = shapeService; - _vitrasaProvider = vitrasaProvider; - _renfeProvider = renfeProvider; - } - - [HttpGet("GetConsolidatedCirculations")] - public async Task<IActionResult> GetConsolidatedCirculations( - [FromQuery] string stopId - ) - { - // Use Europe/Madrid timezone consistently to avoid UTC/local skew - var tz = TimeZoneInfo.FindSystemTimeZoneById("Europe/Madrid"); - var nowLocal = TimeZoneInfo.ConvertTime(DateTime.UtcNow, tz); - - ITransitProvider provider; - string effectiveStopId; - - if (stopId.StartsWith("renfe:")) - { - provider = _renfeProvider; - effectiveStopId = stopId.Substring("renfe:".Length); - } - else if (stopId.StartsWith("vitrasa:")) - { - provider = _vitrasaProvider; - effectiveStopId = stopId.Substring("vitrasa:".Length); - } - else - { - // Legacy/Default - provider = _vitrasaProvider; - effectiveStopId = stopId; - } - - var result = await provider.GetCirculationsAsync(effectiveStopId, nowLocal); - return Ok(result); - } -} |
