aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Sources.Tussa
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Sources.Tussa')
-rw-r--r--src/Enmarcha.Sources.Tussa/Response.cs4
-rw-r--r--src/Enmarcha.Sources.Tussa/SantiagoRealtimeEstimatesProvider.cs16
2 files changed, 9 insertions, 11 deletions
diff --git a/src/Enmarcha.Sources.Tussa/Response.cs b/src/Enmarcha.Sources.Tussa/Response.cs
index df941b9..cbb1573 100644
--- a/src/Enmarcha.Sources.Tussa/Response.cs
+++ b/src/Enmarcha.Sources.Tussa/Response.cs
@@ -4,7 +4,7 @@ namespace Enmarcha.Sources.Tussa;
public class MaisbusResponse
{
- [JsonPropertyName("id")] public string Id { get; set; }
+ [JsonPropertyName("id")] public int Id { get; set; }
[JsonPropertyName("codigo")] public string Code { get; set; }
[JsonPropertyName("nombre")] public string Name { get; set; }
[JsonPropertyName("coordenadas")] public Coordinates Coordinates { get; set; }
@@ -21,7 +21,7 @@ public class Coordinates
public class Route
{
- [JsonPropertyName("id")] public string Id { get; set; }
+ [JsonPropertyName("id")] public int Id { get; set; }
[JsonPropertyName("sinoptico")] public string Sinoptico { get; set; }
[JsonPropertyName("nombre")] public string Name { get; set; }
[JsonPropertyName("estilo")] public string Colour { get; set; }
diff --git a/src/Enmarcha.Sources.Tussa/SantiagoRealtimeEstimatesProvider.cs b/src/Enmarcha.Sources.Tussa/SantiagoRealtimeEstimatesProvider.cs
index 7437a05..6ef79a3 100644
--- a/src/Enmarcha.Sources.Tussa/SantiagoRealtimeEstimatesProvider.cs
+++ b/src/Enmarcha.Sources.Tussa/SantiagoRealtimeEstimatesProvider.cs
@@ -11,10 +11,14 @@ public class SantiagoRealtimeEstimatesProvider
_http = http;
}
- public async Task<List<SantiagoEstimate>> GetEstimatesForStop(int stopId)
+ public async Task<List<Route>> GetEstimatesForStop(int stopId)
{
var url = GetRequestUrl(stopId.ToString());
+ var request = new HttpRequestMessage(HttpMethod.Get, url);
+ request.Headers.Add("Accept", "application/json");
+ request.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; EnMarcha/0.1; https://enmarcha.app)");
+
var response = await _http.GetAsync(url);
var maisbusResponse = await response.Content.ReadFromJsonAsync<MaisbusResponse>();
@@ -24,17 +28,11 @@ public class SantiagoRealtimeEstimatesProvider
throw new Exception("Error parsing maisbus response: " + responseString);
}
- return maisbusResponse.Routes.Select(r => new SantiagoEstimate
- (
- r.Id.ToString(),
- r.MinutesToArrive
- )).OrderBy(a => a.Minutes).ToList();
+ return maisbusResponse.Routes.ToList();
}
private static string GetRequestUrl(string stopId)
{
- return $"https://tussa.gal/maisbus/api/stop/{stopId}";
+ return $"https://app.tussa.org/tussa/api/paradas/{stopId}";
}
}
-
-public record SantiagoEstimate(string RouteId, int Minutes);