using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.JRay.Models;
///
/// A single prioritise/ignore rule. A rule is uniquely identified by its
/// and ; setting a new action for an
/// existing scope+value replaces the previous one.
///
public class MediaPolicyRule
{
///
/// Gets or sets the scope this rule targets (genre, series, or item).
///
[JsonPropertyName("scope")]
public PolicyScope Scope { get; set; }
///
/// Gets or sets the target value: a genre name for ,
/// a series id for , or an item id for
/// .
///
[JsonPropertyName("value")]
public string Value { get; set; } = string.Empty;
///
/// Gets or sets the action to apply (prioritise or ignore).
///
[JsonPropertyName("action")]
public PolicyAction Action { get; set; }
///
/// Gets or sets an optional human-readable label for the target (e.g. the
/// series or item display name), shown in the rules list. Informational only.
///
[JsonPropertyName("label")]
public string Label { get; set; } = string.Empty;
}