aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-12-26 15:56:09 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-12-26 15:56:09 +0100
commitef2df90ffb195edcddd701511dc5953c7baa63af (patch)
tree68ab850068e686647beccec8036e6905ecbab242 /src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs
parent70b5788269845bbf368af5b13b495c70a08927f2 (diff)
Move OpenTripPlanner source to separate package
Diffstat (limited to 'src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs')
-rw-r--r--src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs b/src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs
new file mode 100644
index 0000000..237537f
--- /dev/null
+++ b/src/Costasdev.Busurbano.Sources.OpenTripPlannerGql/ResponseTypes.cs
@@ -0,0 +1,36 @@
+using System.Text.Json.Serialization;
+
+namespace Costasdev.Busurbano.Sources.OpenTripPlannerGql;
+
+public class GraphClientRequest
+{
+ public string OperationName { get; set; } = "Query";
+ public required string Query { get; set; }
+}
+
+public class GraphClientResponse<T> where T : AbstractGraphResponse
+{
+ [JsonPropertyName("data")]
+ public T? Data { get; set; }
+
+ [JsonPropertyName("errors")]
+ public List<GraphClientError>? Errors { get; set; }
+
+ public bool IsSuccess => Errors == null || Errors.Count == 0;
+}
+
+public interface IGraphRequest<T>
+{
+ static abstract string Query(T parameters);
+}
+
+public class AbstractGraphResponse
+{
+}
+
+public class GraphClientError
+{
+ [JsonPropertyName("message")]
+ public required string Message { get; set; }
+}
+