using SatelliteProvider.DataAccess.Models; namespace SatelliteProvider.DataAccess.Repositories; public interface IRouteRepository { Task GetByIdAsync(Guid id); Task> GetRoutePointsAsync(Guid routeId); Task InsertRouteAsync(RouteEntity route); Task InsertRoutePointsAsync(IEnumerable points); Task UpdateRouteAsync(RouteEntity route); Task DeleteRouteAsync(Guid id); Task LinkRouteToRegionAsync(Guid routeId, Guid regionId, bool isGeofence = false, int? geofencePolygonIndex = null); Task> GetRegionIdsByRouteAsync(Guid routeId); Task> GetGeofenceRegionIdsByRouteAsync(Guid routeId); Task>> GetGeofenceRegionsByPolygonAsync(Guid routeId); Task> GetRoutesWithPendingMapsAsync(); }