using OrpaonVision.Core.Results;
using OrpaonVision.Core.Training.Contracts;
using OrpaonVision.Core.Training.Contracts.Commands;
using OrpaonVision.Core.Training.Contracts.Queries;
namespace OrpaonVision.Core.Training;
///
/// 训练任务应用服务接口。
///
public interface ITrainingJobAppService
{
///
/// 提交训练任务。
///
/// 提交训练任务命令。
/// 取消令牌。
/// 训练任务ID。
Task> SubmitAsync(SubmitTrainingJobCommand command, CancellationToken cancellationToken = default);
///
/// 取消训练任务。
///
/// 取消训练任务命令。
/// 取消令牌。
/// 操作结果。
Task CancelAsync(CancelTrainingJobCommand command, CancellationToken cancellationToken = default);
///
/// 获取训练任务详情。
///
/// 训练任务ID。
/// 取消令牌。
/// 训练任务详情。
Task> GetDetailAsync(Guid trainingJobId, CancellationToken cancellationToken = default);
///
/// 获取训练任务分页列表。
///
/// 查询条件。
/// 取消令牌。
/// 训练任务分页列表。
Task>> GetPagedListAsync(TrainingJobQueryDto query, CancellationToken cancellationToken = default);
}