mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-04-22 07:06:39 +00:00
first region implementation
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
namespace SatelliteProvider.Common.DTO;
|
||||
|
||||
public class RegionRequest
|
||||
{
|
||||
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; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
namespace SatelliteProvider.Common.DTO;
|
||||
|
||||
public class RegionStatus
|
||||
{
|
||||
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; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
using SatelliteProvider.Common.DTO;
|
||||
|
||||
namespace SatelliteProvider.Common.Interfaces;
|
||||
|
||||
public interface IRegionRequestQueue
|
||||
{
|
||||
ValueTask EnqueueAsync(RegionRequest request, CancellationToken cancellationToken = default);
|
||||
ValueTask<RegionRequest?> DequeueAsync(CancellationToken cancellationToken = default);
|
||||
int Count { get; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
using SatelliteProvider.Common.DTO;
|
||||
|
||||
namespace SatelliteProvider.Common.Interfaces;
|
||||
|
||||
public interface IRegionService
|
||||
{
|
||||
Task<RegionStatus> RequestRegionAsync(Guid id, double latitude, double longitude, double sizeMeters, int zoomLevel);
|
||||
Task<RegionStatus?> GetRegionStatusAsync(Guid id);
|
||||
Task ProcessRegionAsync(Guid id, CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user