Files
Denso/srcs/RobotNet10/Commons/RobotNet10.MapManager/Services/INodeService.cs
2026-07-03 16:31:37 +07:00

38 lines
1.1 KiB
C#

using RobotNet10.MapEditor.Shared.DTOs.Node;
using RobotNet10.MapEditor.Shared.DTOs.Requests;
using RobotNet10.MapManager.Data;
namespace RobotNet10.MapManager.Services;
/// <summary>
/// Service for managing nodes
/// </summary>
public interface INodeService
{
/// <summary>
/// Get all nodes for a layout level
/// </summary>
Task<List<Node>> GetNodesByLevelAsync(Guid layoutLevelId, bool includeVehicleProperties = true);
/// <summary>
/// Get node by ID
/// </summary>
Task<Node?> GetByIdAsync(Guid nodeId, bool includeVehicleProperties = true);
/// <summary>
/// Update node
/// </summary>
Task<Node> UpdateAsync(Guid nodeId, UpdateNodeRequest request);
/// <summary>
/// Validate if coordinates are within bounds
/// </summary>
Task<bool> ValidateCoordinatesAsync(Guid layoutLevelId, double x, double y);
/// <summary>
/// Find nodes within proximity radius of given coordinates
/// </summary>
Task<List<Node>> FindNodesNearCoordinatesAsync(Guid layoutLevelId, double x, double y, double radius);
}