using RobotNet10.MapEditor.Shared.DTOs.Requests; using RobotNet10.MapManager.Data; namespace RobotNet10.MapManager.Services; /// /// Service for managing edges /// public interface IEdgeService { /// /// Create edge with automatic node detection/creation /// Task CreateAsync(CreateEdgeRequest request); /// /// Get all edges for a layout level /// Task> GetEdgesByLevelAsync(Guid layoutLevelId, bool includeNodes = true, bool includeVehicleProperties = true); /// /// Get edge by ID /// Task GetByIdAsync(Guid edgeId, bool includeNodes = true, bool includeVehicleProperties = true); /// /// Update edge /// Task UpdateAsync(Guid edgeId, UpdateEdgeRequest request); /// /// Delete edge (cascade delete orphan nodes) /// Task DeleteAsync(Guid edgeId); /// /// Delete multiple edges in a transaction /// Task DeleteBatchAsync(List edgeIds); }