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