Files
satellite-provider/SatelliteProvider.IntegrationTests/Models.cs
T
Anton Martynenko 661396554f zip file for tiles
2025-11-20 12:17:57 +01:00

113 lines
3.7 KiB
C#

namespace SatelliteProvider.IntegrationTests;
public record DownloadTileResponse
{
public Guid Id { get; set; }
public int ZoomLevel { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
public double TileSizeMeters { get; set; }
public int TileSizePixels { get; set; }
public string ImageType { get; set; } = string.Empty;
public string? MapsVersion { get; set; }
public string FilePath { get; set; } = string.Empty;
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
public record RequestRegionRequest
{
public Guid Id { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
public double SizeMeters { get; set; }
public int ZoomLevel { get; set; }
public bool StitchTiles { get; set; } = false;
}
public record RegionStatusResponse
{
public Guid Id { get; set; }
public string Status { get; set; } = string.Empty;
public string? CsvFilePath { get; set; }
public string? SummaryFilePath { get; set; }
public int TilesDownloaded { get; set; }
public int TilesReused { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
public class RoutePointInput
{
[System.Text.Json.Serialization.JsonPropertyName("lat")]
public double Lat { get; set; }
[System.Text.Json.Serialization.JsonPropertyName("lon")]
public double Lon { get; set; }
}
public class GeoPointInput
{
[System.Text.Json.Serialization.JsonPropertyName("lat")]
public double Lat { get; set; }
[System.Text.Json.Serialization.JsonPropertyName("lon")]
public double Lon { get; set; }
}
public class GeofencePolygonInput
{
[System.Text.Json.Serialization.JsonPropertyName("northWest")]
public GeoPointInput? NorthWest { get; set; }
[System.Text.Json.Serialization.JsonPropertyName("southEast")]
public GeoPointInput? SouthEast { get; set; }
}
public class GeofencesInput
{
[System.Text.Json.Serialization.JsonPropertyName("polygons")]
public List<GeofencePolygonInput> Polygons { get; set; } = new();
}
public class CreateRouteRequest
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public string? Description { get; set; }
public double RegionSizeMeters { get; set; }
public int ZoomLevel { get; set; }
public List<RoutePointInput> Points { get; set; } = new();
[System.Text.Json.Serialization.JsonPropertyName("geofences")]
public GeofencesInput? Geofences { get; set; }
public bool RequestMaps { get; set; } = false;
public bool CreateTilesZip { get; set; } = false;
}
public class RoutePointModel
{
public double Latitude { get; set; }
public double Longitude { get; set; }
public string PointType { get; set; } = string.Empty;
public int SequenceNumber { get; set; }
public int SegmentIndex { get; set; }
public double? DistanceFromPrevious { get; set; }
}
public class RouteResponseModel
{
public Guid Id { get; set; }
public string Name { get; set; } = string.Empty;
public string? Description { get; set; }
public double RegionSizeMeters { get; set; }
public int ZoomLevel { get; set; }
public double TotalDistanceMeters { get; set; }
public int TotalPoints { get; set; }
public List<RoutePointModel> Points { get; set; } = new();
public bool RequestMaps { get; set; }
public bool MapsReady { get; set; }
public string? CsvFilePath { get; set; }
public string? SummaryFilePath { get; set; }
public string? StitchedImagePath { get; set; }
public string? TilesZipPath { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}