Files
BQP/srcs/RobotNet10/Commons/RobotNet10.MapManager/Services/IStationService.cs
2026-07-13 09:25:40 +07:00

37 lines
1.0 KiB
C#

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