aboutsummaryrefslogtreecommitdiff
path: root/Enmarcha.Sources.CtagShuttle
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2026-03-05 01:54:35 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2026-03-05 01:54:58 +0100
commit6e2d9ffe812eb1ca8fe5d04d3df2aa322e9e5760 (patch)
tree8a524c3145228a93ec44c07591b3aeed12d2317c /Enmarcha.Sources.CtagShuttle
parent4d9ca9016953a08748628d1d091989027c4cbe99 (diff)
Refactor deployment process to use rsync for frontend and backend, update project paths, and add CtagShuttleRealtimeEstimatesProvider and CtagShuttleStatus classes
Diffstat (limited to 'Enmarcha.Sources.CtagShuttle')
-rw-r--r--Enmarcha.Sources.CtagShuttle/CtagShuttleRealtimeEstimatesProvider.cs30
-rw-r--r--Enmarcha.Sources.CtagShuttle/Enmarcha.Sources.CtagShuttle.csproj9
-rw-r--r--Enmarcha.Sources.CtagShuttle/Status.cs46
3 files changed, 0 insertions, 85 deletions
diff --git a/Enmarcha.Sources.CtagShuttle/CtagShuttleRealtimeEstimatesProvider.cs b/Enmarcha.Sources.CtagShuttle/CtagShuttleRealtimeEstimatesProvider.cs
deleted file mode 100644
index 3ec0c6f..0000000
--- a/Enmarcha.Sources.CtagShuttle/CtagShuttleRealtimeEstimatesProvider.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Net.Http.Json;
-
-namespace Enmarcha.Sources.CtagShuttle;
-
-public class CtagShuttleRealtimeEstimatesProvider
-{
- private HttpClient _http;
-
- public CtagShuttleRealtimeEstimatesProvider(HttpClient http)
- {
- _http = http;
- }
-
- public async Task<CtagShuttleStatus> GetShuttleStatus()
- {
- const string url = "https://shuttle.brain4mobility.com/status";
-
- var response = await _http.GetAsync(url);
- var status = await response.Content.ReadFromJsonAsync<CtagShuttleStatus>();
-
- if (status is null)
- {
- throw new InvalidOperationException("Failed to retrieve shuttle status");
- }
-
- return status;
- }
-
-}
-
diff --git a/Enmarcha.Sources.CtagShuttle/Enmarcha.Sources.CtagShuttle.csproj b/Enmarcha.Sources.CtagShuttle/Enmarcha.Sources.CtagShuttle.csproj
deleted file mode 100644
index 237d661..0000000
--- a/Enmarcha.Sources.CtagShuttle/Enmarcha.Sources.CtagShuttle.csproj
+++ /dev/null
@@ -1,9 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>net10.0</TargetFramework>
- <ImplicitUsings>enable</ImplicitUsings>
- <Nullable>enable</Nullable>
- </PropertyGroup>
-
-</Project>
diff --git a/Enmarcha.Sources.CtagShuttle/Status.cs b/Enmarcha.Sources.CtagShuttle/Status.cs
deleted file mode 100644
index ecf2da1..0000000
--- a/Enmarcha.Sources.CtagShuttle/Status.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using System.Text.Json.Serialization;
-
-namespace Enmarcha.Sources.CtagShuttle;
-
-public class CtagShuttleStatus
-{
- [JsonPropertyName("status")] public required string StatusValue { get; set; }
- [JsonPropertyName("lat")] public double Latitude { get; set; }
- [JsonPropertyName("lng")] public double Longitude { get; set; }
- [JsonPropertyName("last_position_at")] public required string LastPositionAtValue { get; set; }
- [JsonPropertyName("free_seats")] public int FreeSeats { get; set; }
-
- [JsonPropertyName("last_occupancy_at")]
- public required string LastOccupancyAtValue { get; set; }
-
- [JsonIgnore]
- public Status Status => Status.Parse(StatusValue);
-
- [JsonIgnore]
- public DateTime LastPositionAt => DateTime.Parse(LastPositionAtValue);
-
- [JsonIgnore]
- public DateTime LastOccupancyAt => DateTime.Parse(LastOccupancyAtValue);
-}
-
-public enum Status
-{
- Idle,
- Operating
-}
-
-public static class StatusExtensions
-{
- extension(Status)
- {
- public static Status Parse(string value)
- {
- return value switch
- {
- "idle" => Status.Idle,
- "operating" => Status.Operating,
- _ => throw new ArgumentException($"Invalid status value: {value}")
- };
- }
- }
-}