aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend/Services
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Backend/Services')
-rw-r--r--src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs1
-rw-r--r--src/Enmarcha.Backend/Services/Processors/Normalisation/ColourProcessor.cs34
-rw-r--r--src/Enmarcha.Backend/Services/Processors/Normalisation/TranviasNormalizationProcessor.cs17
-rw-r--r--src/Enmarcha.Backend/Services/Processors/Normalisation/VitrasaNormalizationProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/FeedConfigProcessor.cs)40
-rw-r--r--src/Enmarcha.Backend/Services/Processors/Normalisation/XuntaNormalizationProcessor.cs24
-rw-r--r--src/Enmarcha.Backend/Services/Processors/RealTime/CorunaRealTimeProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs)2
-rw-r--r--src/Enmarcha.Backend/Services/Processors/RealTime/CtagShuttleRealTimeProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/CtagShuttleRealTimeProcessor.cs)2
-rw-r--r--src/Enmarcha.Backend/Services/Processors/RealTime/RenfeRealTimeProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/RenfeRealTimeProcessor.cs)2
-rw-r--r--src/Enmarcha.Backend/Services/Processors/RealTime/TussaRealTimeProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/TussaRealTimeProcessor.cs)2
-rw-r--r--src/Enmarcha.Backend/Services/Processors/RealTime/VitrasaRealTimeProcessor.cs (renamed from src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs)2
10 files changed, 88 insertions, 38 deletions
diff --git a/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs b/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs
index 1db215b..4c0b8ac 100644
--- a/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/NextStopsProcessor.cs
@@ -1,4 +1,3 @@
-using System.Text;
using Enmarcha.Sources.OpenTripPlannerGql.Queries;
namespace Enmarcha.Backend.Services.Processors;
diff --git a/src/Enmarcha.Backend/Services/Processors/Normalisation/ColourProcessor.cs b/src/Enmarcha.Backend/Services/Processors/Normalisation/ColourProcessor.cs
new file mode 100644
index 0000000..ee4379b
--- /dev/null
+++ b/src/Enmarcha.Backend/Services/Processors/Normalisation/ColourProcessor.cs
@@ -0,0 +1,34 @@
+using Enmarcha.Backend.Helpers;
+
+namespace Enmarcha.Backend.Services.Processors.Normalisation;
+
+public class ColourProcessor : IArrivalsProcessor
+{
+ private readonly FeedService _feedService;
+
+ public ColourProcessor(FeedService feedService)
+ {
+ _feedService = feedService;
+ }
+
+ public Task ProcessAsync(ArrivalsContext context)
+ {
+ var feedId = context.StopId.Split(':')[0];
+ var (fallbackColor, fallbackTextColor) = _feedService.GetFallbackColourForFeed(feedId);
+
+ foreach (var arrival in context.Arrivals)
+ {
+ if (string.IsNullOrEmpty(arrival.Route.Colour) || arrival.Route.Colour == "FFFFFF")
+ {
+ arrival.Route.Colour = fallbackColor;
+ arrival.Route.TextColour = fallbackTextColor;
+ }
+ else if (string.IsNullOrEmpty(arrival.Route.TextColour) || arrival.Route.TextColour == "000000")
+ {
+ arrival.Route.TextColour = ContrastHelper.GetBestTextColour(arrival.Route.Colour);
+ }
+ }
+
+ return Task.CompletedTask;
+ }
+}
diff --git a/src/Enmarcha.Backend/Services/Processors/Normalisation/TranviasNormalizationProcessor.cs b/src/Enmarcha.Backend/Services/Processors/Normalisation/TranviasNormalizationProcessor.cs
new file mode 100644
index 0000000..3d17a37
--- /dev/null
+++ b/src/Enmarcha.Backend/Services/Processors/Normalisation/TranviasNormalizationProcessor.cs
@@ -0,0 +1,17 @@
+namespace Enmarcha.Backend.Services.Processors.Normalisation;
+
+public class TranviasNormalizationProcessor : IArrivalsProcessor
+{
+ public Task ProcessAsync(ArrivalsContext context)
+ {
+ if (context.StopId.Split(':')[0] != "tranvias")
+ return Task.CompletedTask;
+
+ foreach (var arrival in context.Arrivals)
+ {
+ arrival.Shift = FeedService.GetShiftBadge("tranvias", arrival.TripId);
+ }
+
+ return Task.CompletedTask;
+ }
+}
diff --git a/src/Enmarcha.Backend/Services/Processors/FeedConfigProcessor.cs b/src/Enmarcha.Backend/Services/Processors/Normalisation/VitrasaNormalizationProcessor.cs
index 9fc46c7..2cca672 100644
--- a/src/Enmarcha.Backend/Services/Processors/FeedConfigProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/Normalisation/VitrasaNormalizationProcessor.cs
@@ -1,44 +1,19 @@
-using Enmarcha.Backend.Helpers;
using Enmarcha.Backend.Types.Arrivals;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.Normalisation;
-public class FeedConfigProcessor : IArrivalsProcessor
+public class VitrasaNormalizationProcessor : IArrivalsProcessor
{
- private readonly FeedService _feedService;
-
- public FeedConfigProcessor(FeedService feedService)
- {
- _feedService = feedService;
- }
-
public Task ProcessAsync(ArrivalsContext context)
{
- var feedId = context.StopId.Split(':')[0];
- var (fallbackColor, fallbackTextColor) = _feedService.GetFallbackColourForFeed(feedId);
+ if (context.StopId.Split(':')[0] != "vitrasa")
+ return Task.CompletedTask;
foreach (var arrival in context.Arrivals)
{
- arrival.Route.ShortName = _feedService.NormalizeRouteShortName(feedId, arrival.Route.ShortName);
- arrival.Headsign.Destination = FeedService.NormalizeStopName(feedId, arrival.Headsign.Destination);
-
- // Apply Vitrasa-specific line formatting
- if (feedId == "vitrasa")
- {
- FormatVitrasaLine(arrival);
- }
-
- arrival.Shift = FeedService.GetShiftBadge(feedId, arrival.TripId);
-
- if (string.IsNullOrEmpty(arrival.Route.Colour) || arrival.Route.Colour == "FFFFFF")
- {
- arrival.Route.Colour = fallbackColor;
- arrival.Route.TextColour = fallbackTextColor;
- }
- else if (string.IsNullOrEmpty(arrival.Route.TextColour) || arrival.Route.TextColour == "000000")
- {
- arrival.Route.TextColour = ContrastHelper.GetBestTextColour(arrival.Route.Colour);
- }
+ arrival.Headsign.Destination = FeedService.NormalizeStopName("vitrasa", arrival.Headsign.Destination);
+ FormatVitrasaLine(arrival);
+ arrival.Shift = FeedService.GetShiftBadge("vitrasa", arrival.TripId);
}
return Task.CompletedTask;
@@ -93,6 +68,7 @@ public class FeedConfigProcessor : IArrivalsProcessor
arrival.Route.ShortName = "GOL";
arrival.Headsign.Destination = "GOL ⚽: NAVIA-BOUZAS-URZAIZ-G. ESPINO";
}
+
arrival.Route.Colour = "6CACE4";
arrival.Route.TextColour = "000000";
break;
diff --git a/src/Enmarcha.Backend/Services/Processors/Normalisation/XuntaNormalizationProcessor.cs b/src/Enmarcha.Backend/Services/Processors/Normalisation/XuntaNormalizationProcessor.cs
new file mode 100644
index 0000000..9b7e498
--- /dev/null
+++ b/src/Enmarcha.Backend/Services/Processors/Normalisation/XuntaNormalizationProcessor.cs
@@ -0,0 +1,24 @@
+namespace Enmarcha.Backend.Services.Processors.Normalisation;
+
+public class XuntaNormalizationProcessor : IArrivalsProcessor
+{
+ private readonly FeedService _feedService;
+
+ public XuntaNormalizationProcessor(FeedService feedService)
+ {
+ _feedService = feedService;
+ }
+
+ public Task ProcessAsync(ArrivalsContext context)
+ {
+ if (context.StopId.Split(':')[0] != "xunta")
+ return Task.CompletedTask;
+
+ foreach (var arrival in context.Arrivals)
+ {
+ arrival.Route.ShortName = _feedService.NormalizeRouteShortName("xunta", arrival.Route.ShortName);
+ }
+
+ return Task.CompletedTask;
+ }
+}
diff --git a/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/RealTime/CorunaRealTimeProcessor.cs
index 797221f..20dc356 100644
--- a/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/RealTime/CorunaRealTimeProcessor.cs
@@ -3,7 +3,7 @@ using Enmarcha.Sources.TranviasCoruna;
using Enmarcha.Backend.Types;
using Enmarcha.Backend.Types.Arrivals;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.RealTime;
public class CorunaRealTimeProcessor : AbstractRealTimeProcessor
{
diff --git a/src/Enmarcha.Backend/Services/Processors/CtagShuttleRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/RealTime/CtagShuttleRealTimeProcessor.cs
index ce2651f..804b09c 100644
--- a/src/Enmarcha.Backend/Services/Processors/CtagShuttleRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/RealTime/CtagShuttleRealTimeProcessor.cs
@@ -3,7 +3,7 @@ using Enmarcha.Sources.OpenTripPlannerGql.Queries;
using Enmarcha.Backend.Types;
using Enmarcha.Backend.Types.Arrivals;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.RealTime;
public class CtagShuttleRealTimeProcessor : AbstractRealTimeProcessor
{
diff --git a/src/Enmarcha.Backend/Services/Processors/RenfeRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/RealTime/RenfeRealTimeProcessor.cs
index 5e5468e..26ffa24 100644
--- a/src/Enmarcha.Backend/Services/Processors/RenfeRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/RealTime/RenfeRealTimeProcessor.cs
@@ -4,7 +4,7 @@ using Enmarcha.Backend.Types.Arrivals;
using Enmarcha.Sources.GtfsRealtime;
using Arrival = Enmarcha.Backend.Types.Arrivals.Arrival;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.RealTime;
public partial class RenfeRealTimeProcessor : AbstractRealTimeProcessor
{
diff --git a/src/Enmarcha.Backend/Services/Processors/TussaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/RealTime/TussaRealTimeProcessor.cs
index 7808a3f..2cfdf28 100644
--- a/src/Enmarcha.Backend/Services/Processors/TussaRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/RealTime/TussaRealTimeProcessor.cs
@@ -3,7 +3,7 @@ using Enmarcha.Backend.Types.Arrivals;
using Enmarcha.Sources.Tussa;
using Arrival = Enmarcha.Backend.Types.Arrivals.Arrival;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.RealTime;
public class TussaRealTimeProcessor : AbstractRealTimeProcessor
{
diff --git a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/RealTime/VitrasaRealTimeProcessor.cs
index 5bbbfab..0227f9c 100644
--- a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/RealTime/VitrasaRealTimeProcessor.cs
@@ -5,7 +5,7 @@ using Enmarcha.Backend.Types;
using Enmarcha.Backend.Types.Arrivals;
using Microsoft.Extensions.Options;
-namespace Enmarcha.Backend.Services.Processors;
+namespace Enmarcha.Backend.Services.Processors.RealTime;
public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor
{