namespace Admin.NET.Plugin.AiDOP.Service.S8.Rules.DataAccess;
///
/// 数据集状态。
///
/// 分两层,不要混用:
/// · 声明状态(写在 里)只有 DEFINED / DISABLED,
/// 表达"这个数据集定义本身是否还在用";
/// · 有效状态(诊断时计算)额外有 NOT_DEFINED / PROVIDER_MISSING / READY,
/// 表达"结合当前 Provider 注册情况,它现在能不能用"。
///
/// 这样才能把 Batch 1 混为一谈的两件事分开:
/// "数据集根本不存在" vs "数据集已定义但供数实现还没上线"。
///
public static class S8DatasetStatus
{
/// 声明状态:已定义且在用。
public const string Defined = "DEFINED";
/// 声明状态:定义仍在但已停用,不可用于规则执行。
public const string Disabled = "DISABLED";
/// 有效状态:Catalog 中查无此数据集。
public const string NotDefined = "NOT_DEFINED";
/// 有效状态:已定义、在用,但当前没有 Provider 实现。
public const string ProviderMissing = "PROVIDER_MISSING";
/// 有效状态:已定义、在用、Provider 已注册,可用于规则执行。
public const string Ready = "READY";
/// 声明状态是否合法。
public static bool IsDeclarable(string? status) =>
string.Equals(status, Defined, StringComparison.OrdinalIgnoreCase)
|| string.Equals(status, Disabled, StringComparison.OrdinalIgnoreCase);
}