using OrpaonVision.Core.Configuration.Contracts;
using OrpaonVision.Core.Results;
namespace OrpaonVision.Core.Configuration;
///
/// 规则配置持久化仓储。
///
public interface IRuleConfigurationStore
{
///
/// 保存机种规则草稿。
///
Result SaveDraft(RuleConfigurationDraftDto draft);
///
/// 发布规则版本。
///
Result Publish(string productTypeCode, string publishedBy);
///
/// 获取最新已发布版本。
///
Result GetLatestPublishedVersion(string productTypeCode);
///
/// 对比两个规则版本快照。
///
Result CompareVersions(string productTypeCode, string sourceVersionNo, string targetVersionNo);
///
/// 回滚到指定规则版本(以新版本号重新发布)。
///
Result RollbackToVersion(string productTypeCode, string targetVersionNo, string rolledBackBy);
///
/// 停用指定规则版本。
///
Result DisableVersion(string productTypeCode, string versionNo, string disabledBy);
///
/// 获取指定规则版本详情。
///
Result GetVersionDetail(string productTypeCode, string versionNo);
///
/// 分页查询规则版本列表。
///
Result> GetVersionPagedList(string productTypeCode, int pageIndex = 1, int pageSize = 20);
///
/// 查询最近规则版本操作审计记录。
///
Result> GetRecentAudits(string productTypeCode, int take = 20);
}