diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-16 16:44:43 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-16 16:44:43 +0100 |
| commit | fbcf5ecb762b3cff314b9339aec3314bb813a3fe (patch) | |
| tree | 7a4237ddb06188decf35aedd60f13c5c078429dc /src/Enmarcha.Backend | |
| parent | ac626a9c2edc2e528eb0b39002c836a747b2fc16 (diff) | |
Display operator name on xunta arrivals
Diffstat (limited to 'src/Enmarcha.Backend')
| -rw-r--r-- | src/Enmarcha.Backend/Controllers/ArrivalsController.cs | 3 | ||||
| -rw-r--r-- | src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs | 2 | ||||
| -rw-r--r-- | src/Enmarcha.Backend/Types/Arrivals/Arrival.cs | 13 |
3 files changed, 17 insertions, 1 deletions
diff --git a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs index 861038f..8ce63f7 100644 --- a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs +++ b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs @@ -146,6 +146,8 @@ public partial class ArrivalsController : ControllerBase var tz = TimeZoneInfo.FindSystemTimeZoneById("Europe/Madrid"); var nowLocal = TimeZoneInfo.ConvertTime(DateTime.UtcNow, tz); + var feedId = id.Split(':')[0]; + var requestContent = ArrivalsAtStopContent.Query(new ArrivalsAtStopContent.Args(id, reduced || nano)); var request = new HttpRequestMessage(HttpMethod.Post, $"{_config.OpenTripPlannerBaseUrl}/gtfs/v1"); @@ -192,6 +194,7 @@ public partial class ArrivalsController : ControllerBase Minutes = minutesToArrive, Precision = departureTime < nowLocal.AddMinutes(-1) ? ArrivalPrecision.Past : ArrivalPrecision.Scheduled }, + Operator = feedId == "xunta" ? item.Trip.Route.Agency?.Name : null, RawOtpTrip = item }); } diff --git a/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs b/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs index 84e0d0f..6a76fe3 100644 --- a/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs +++ b/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs @@ -94,7 +94,7 @@ public class NextStopsProcessor : IArrivalsProcessor if (!seenConcellos.Contains(concello)) { seenConcellos.Add(concello); - item += $" ({concello})"; + item = $"({concello}) {item}"; } items.Add(item); diff --git a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs index a07c988..bdcae07 100644 --- a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs +++ b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs @@ -20,6 +20,9 @@ public class Arrival [JsonPropertyName("currentPosition")] public Position? CurrentPosition { get; set; } + [JsonPropertyName("operator")] public string? Operator { get; set; } + [JsonPropertyName("operation")] public VehicleOperation Operation { get; set; } = VehicleOperation.PickupDropoff; + [JsonPropertyName("vehicleInformation")] public VehicleBadge? VehicleInformation { get; set; } @@ -35,6 +38,16 @@ public class Arrival [JsonIgnore] public bool Delete { get; set; } } +public enum VehicleOperation +{ + [JsonStringEnumMemberName("pickup_dropoff")] + PickupDropoff = 0, + [JsonStringEnumMemberName("pickup_only")] + PickupOnly = 1, + [JsonStringEnumMemberName("dropoff_only")] + DropoffOnly = 2 +} + public class RouteInfo { [JsonPropertyName("gtfsId")] public required string GtfsId { get; set; } |
