using OrpaonVision.Core.Results; using OrpaonVision.Core.Training.Contracts; using OrpaonVision.Core.Training.Contracts.Commands; namespace OrpaonVision.Core.Training; /// /// 运行时部署快照应用服务接口。 /// public interface IRuntimeDeploymentSnapshotAppService { /// /// 创建运行时部署快照。 /// /// 创建命令。 /// 取消令牌。 /// 创建结果。 Task> CreateSnapshotAsync( CreateRuntimeDeploymentSnapshotCommand command, CancellationToken cancellationToken = default); /// /// 获取运行时部署快照详情。 /// /// 快照ID。 /// 取消令牌。 /// 快照详情。 Task> GetSnapshotAsync( Guid snapshotId, CancellationToken cancellationToken = default); /// /// 获取运行时部署快照列表。 /// /// 机种ID(可选)。 /// 状态(可选)。 /// 取消令牌。 /// 快照列表。 Task>> GetSnapshotsAsync( Guid? productTypeId = null, RuntimeDeploymentSnapshotStatus? status = null, CancellationToken cancellationToken = default); /// /// 激活运行时部署快照。 /// /// 激活命令。 /// 取消令牌。 /// 激活结果。 Task> ActivateSnapshotAsync( ActivateRuntimeDeploymentSnapshotCommand command, CancellationToken cancellationToken = default); /// /// 回滚到运行时部署快照。 /// /// 回滚命令。 /// 取消令牌。 /// 回滚结果。 Task> RollbackToSnapshotAsync( RollbackToRuntimeDeploymentSnapshotCommand command, CancellationToken cancellationToken = default); /// /// 获取当前激活的快照。 /// /// 机种ID。 /// 取消令牌。 /// 当前激活的快照。 Task> GetCurrentActivatedSnapshotAsync( Guid productTypeId, CancellationToken cancellationToken = default); /// /// 获取快照历史记录。 /// /// 机种ID。 /// 取消令牌。 /// 快照历史记录。 Task>> GetSnapshotHistoryAsync( Guid productTypeId, CancellationToken cancellationToken = default); }