using SatelliteProvider.DataAccess.Models; namespace SatelliteProvider.DataAccess.Repositories; public interface ITileRepository { Task GetByIdAsync(Guid id); Task GetByTileCoordinatesAsync(int tileZoom, int tileX, int tileY); Task> GetTilesByRegionAsync(double latitude, double longitude, double sizeMeters, int zoomLevel); // AZ-505: bulk-list endpoint backing query. Returns the most-recent row // across sources/flights for each requested `location_hash`. Result order // is unspecified; callers (TileService.GetInventoryAsync) re-align entries // to the request order via dictionary lookup. Task> GetTilesByLocationHashesAsync(IReadOnlyList locationHashes); Task InsertAsync(TileEntity tile); Task UpdateAsync(TileEntity tile); Task DeleteAsync(Guid id); }