using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.JRay.Models;
///
/// Whether JRay's one hard dependency is satisfied, and what to do if it is not.
///
///
/// Jellyfin has no plugin dependency mechanism — a manifest cannot declare that
/// another plugin is required, and nothing will install one. The gap is closed by
/// telling the admin, on the page where they can act on it. A warning that exists
/// only in the server log is one nobody reads.
///
public class DependencyStatus
{
///
/// Gets or sets a value indicating whether the File Transformation plugin was
/// found and JRay's overlay transformation registered with it.
///
[JsonPropertyName("file_transformation_available")]
public bool FileTransformationAvailable { get; set; }
///
/// Gets or sets a value indicating whether the overlay is switched on in
/// configuration. It is served only when this and
/// hold.
///
[JsonPropertyName("overlay_enabled")]
public bool OverlayEnabled { get; set; }
///
/// Gets or sets the repository manifest URL an admin adds to install the
/// missing dependency.
///
[JsonPropertyName("file_transformation_manifest_url")]
public string FileTransformationManifestUrl { get; set; } = string.Empty;
}