53 lines
1.9 KiB
C#
53 lines
1.9 KiB
C#
using OrpaonVision.Core.Results;
|
|
using OrpaonVision.Core.Training.Contracts;
|
|
|
|
namespace OrpaonVision.Core.Training;
|
|
|
|
/// <summary>
|
|
/// 规则校验服务接口。
|
|
/// </summary>
|
|
public interface IRuleValidationService
|
|
{
|
|
/// <summary>
|
|
/// 校验规则快照包。
|
|
/// </summary>
|
|
/// <param name="packagePath">包路径。</param>
|
|
/// <param name="cancellationToken">取消令牌。</param>
|
|
/// <returns>校验结果。</returns>
|
|
Task<Result<RuleSnapshotValidationResultDto>> ValidateRuleSnapshotPackageAsync(
|
|
string packagePath,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 校验层顺序。
|
|
/// </summary>
|
|
/// <param name="layerOrderData">层顺序数据。</param>
|
|
/// <param name="expectedOrder">期望的层顺序。</param>
|
|
/// <param name="cancellationToken">取消令牌。</param>
|
|
/// <returns>校验结果。</returns>
|
|
Task<Result<LayerOrderValidationResultDto>> ValidateLayerOrderAsync(
|
|
string[] layerOrderData,
|
|
string[] expectedOrder,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 校验部件编码唯一性。
|
|
/// </summary>
|
|
/// <param name="partCodes">部件编码列表。</param>
|
|
/// <param name="cancellationToken">取消令牌。</param>
|
|
/// <returns>校验结果。</returns>
|
|
Task<Result<PartCodeUniquenessValidationResultDto>> ValidatePartCodeUniquenessAsync(
|
|
string[] partCodes,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// 校验Schema合法性。
|
|
/// </summary>
|
|
/// <param name="schemaFiles">Schema文件路径列表。</param>
|
|
/// <param name="cancellationToken">取消令牌。</param>
|
|
/// <returns>校验结果。</returns>
|
|
Task<Result<SchemaValidationResultDto>> ValidateSchemaAsync(
|
|
string[] schemaFiles,
|
|
CancellationToken cancellationToken = default);
|
|
}
|