mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-21 14:21:14 +00:00
7c37636fdf
- Stop writing "downloaded_YYYY-MM-DD" into tiles.maps_version: new rows bind @MapsVersion to NULL via TileService.BuildTileEntity. - Retain the tiles.maps_version column (coderule.mdc forbids unprompted column drops); pre-existing rows keep their values for forensics. - Remove MapsVersion property from DownloadTileResponse (API wire shape) and TileMetadata (internal DTO); OpenAPI schema regenerates from the DTO via Swashbuckle. - Add 3 AC tests in TileServiceTests covering the captured-entity write (AC-1) and the DTO/wire-shape removal (AC-2). - Update integration-test local DTO + console output; refresh docs in common_dtos.md, services_tile_service.md, data_model.md. - Archive AZ-373 task file: todo/ -> done/. 174 unit + 5 smoke pass. Co-authored-by: Cursor <cursoragent@cursor.com>
112 lines
3.7 KiB
C#
112 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 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; }
|
|
}
|