37 lines
1.0 KiB
C#
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);
|
|
}
|
|
|