using RobotNet10.FleetManager.Data;
using RobotNet10.FleetManager.Shared.DTOs.Robot;
namespace RobotNet10.FleetManager.Services;
///
/// Service for managing robots
///
public interface IRobotService
{
Task CreateAsync(CreateRobotRequest request);
Task> GetAllAsync(Guid? modelId = null, Guid? mapId = null);
Task GetByIdAsync(Guid id);
Task GetByRobotIdAsync(string robotId);
Task UpdateAsync(Guid id, UpdateRobotRequest request);
Task DeleteAsync(Guid id);
Task> GetByModelIdAsync(Guid modelId);
Task> GetByModelNameAsync(string modelName);
Task> SearchAsync(string query);
Task ExistsAsync(string robotId);
}