tcloud compatibility, dotnet bug fixes

This commit is contained in:
Steve Androulakis
2025-02-14 11:10:16 -08:00
parent a9d8a2a631
commit d6bbb900b7
12 changed files with 227 additions and 53 deletions

View File

@@ -1,6 +1,9 @@
using System.Text.Json.Serialization;
namespace TrainSearchWorker.Models;
public record BookTrainsRequest
{
[JsonPropertyName("train_ids")]
public required string TrainIds { get; init; }
}

View File

@@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace TrainSearchWorker.Models;
public record BookTrainsResponse
{
[JsonPropertyName("booking_reference")]
public required string BookingReference { get; init; }
// If the API now returns train_ids as an array, use List<string>
[JsonPropertyName("train_ids")]
public required List<string> TrainIds { get; init; }
[JsonPropertyName("status")]
public required string Status { get; init; }
}

View File

@@ -1,12 +1,27 @@
using System.Text.Json.Serialization;
namespace TrainSearchWorker.Models;
public record Journey
{
[JsonPropertyName("id")]
public required string Id { get; init; }
[JsonPropertyName("type")]
public required string Type { get; init; }
[JsonPropertyName("departure")]
public required string Departure { get; init; }
[JsonPropertyName("arrival")]
public required string Arrival { get; init; }
[JsonPropertyName("departure_time")]
public required string DepartureTime { get; init; }
[JsonPropertyName("arrival_time")]
public required string ArrivalTime { get; init; }
[JsonPropertyName("price")]
public required decimal Price { get; init; }
}
}

View File

@@ -0,0 +1,10 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace TrainSearchWorker.Models;
public record JourneyResponse
{
[JsonPropertyName("journeys")]
public List<Journey>? Journeys { get; init; }
}

View File

@@ -1,9 +1,18 @@
using System.Text.Json.Serialization;
namespace TrainSearchWorker.Models;
public record SearchTrainsRequest
{
[JsonPropertyName("origin")]
public required string From { get; init; }
[JsonPropertyName("destination")]
public required string To { get; init; }
[JsonPropertyName("outbound_time")]
public required string OutboundTime { get; init; }
[JsonPropertyName("return_time")]
public required string ReturnTime { get; init; }
}