aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend/Controllers/TransitController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Backend/Controllers/TransitController.cs')
-rw-r--r--src/Enmarcha.Backend/Controllers/TransitController.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/Enmarcha.Backend/Controllers/TransitController.cs b/src/Enmarcha.Backend/Controllers/TransitController.cs
index 7876dbe..9b13972 100644
--- a/src/Enmarcha.Backend/Controllers/TransitController.cs
+++ b/src/Enmarcha.Backend/Controllers/TransitController.cs
@@ -124,8 +124,21 @@ public class TransitController : ControllerBase
var query = RouteDetailsContent.Query(new RouteDetailsContent.Args(id, serviceDate));
var response = await SendOtpQueryAsync<RouteDetailsResponse>(query);
- if (response?.Data?.Route == null)
+ if (response == null)
{
+ return StatusCode(500, "Failed to connect to OTP.");
+ }
+
+ if (!response.IsSuccess)
+ {
+ var messages = string.Join("; ", response.Errors?.Select(e => e.Message) ?? []);
+ _logger.LogError("OTP returned errors: {Errors}", messages);
+ return StatusCode(500, $"OTP Error: {messages}");
+ }
+
+ if (response.Data?.Route == null)
+ {
+ _logger.LogWarning("Route details not found for {Id} on {ServiceDate}", id, serviceDate);
return NotFound();
}