Initial commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using RobotNet10.MapEditor.Shared.DTOs.LayoutData;
|
||||
using RobotNet10.MapEditor.Shared.DTOs.Requests;
|
||||
using RobotNet10.MapEditor.Shared.DTOs.Responses;
|
||||
|
||||
namespace RobotNet10.MapManager.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Service for retrieving complete layout data (nodes, edges, stations)
|
||||
/// </summary>
|
||||
public interface ILayoutDataService
|
||||
{
|
||||
/// <summary>
|
||||
/// Get complete layout data for a layout level
|
||||
/// Includes all nodes, edges, and stations with full nested properties
|
||||
/// </summary>
|
||||
Task<LayoutDataDto> GetLayoutDataAsync(Guid layoutLevelId);
|
||||
|
||||
/// <summary>
|
||||
/// Merge multiple nodes into one node at center position
|
||||
/// </summary>
|
||||
Task<MergeNodesResponse> MergeNodesAsync(MergeNodesRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Split a node into multiple nodes (one for each connected edge)
|
||||
/// </summary>
|
||||
Task<SplitNodeResponse> SplitNodeAsync(SplitNodeRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Save all layout changes (nodes and edges) in a batch operation
|
||||
/// Uses transaction to ensure atomicity
|
||||
/// </summary>
|
||||
Task<SaveLayoutDataResponse> SaveLayoutDataAsync(SaveLayoutDataRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Copy selected nodes and edges with an offset
|
||||
/// Creates new nodes and edges at offset positions
|
||||
/// </summary>
|
||||
Task<CopyNodesResponse> CopyNodesAsync(CopyNodesRequest request);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user