Files
OrpaonVision/OrpaonVision.Core/Training/IRuntimeDeploymentSnapshotAppService.cs
2026-04-06 22:04:05 +08:00

84 lines
3.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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);
}