using RobotNet10.MapEditor.Shared.DTOs.Requests;
using RobotNet10.MapManager.Data;
namespace RobotNet10.MapManager.Services;
///
/// Service for managing stations
///
public interface IStationService
{
///
/// Create a new station
///
Task CreateAsync(CreateStationRequest request);
///
/// Get all stations for a layout level
///
Task> GetStationsByLevelAsync(Guid layoutLevelId, bool includeInteractionNodes = true);
///
/// Get station by ID
///
Task GetByIdAsync(Guid stationId, bool includeInteractionNodes = true);
///
/// Update station
///
Task UpdateAsync(Guid stationId, UpdateStationRequest request);
///
/// Delete station (cascade delete interaction nodes, but NOT the linked nodes)
///
Task DeleteAsync(Guid stationId);
}