You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jellyfin/MediaBrowser.Common/Plugins/PluginManifest.cs

95 lines
3.0 KiB

4 years ago
#nullable enable
using System;
using System.Text.Json.Serialization;
using MediaBrowser.Common.Json.Converters;
4 years ago
using MediaBrowser.Model.Plugins;
namespace MediaBrowser.Common.Plugins
{
/// <summary>
/// Defines a Plugin manifest file.
/// </summary>
public class PluginManifest
{
/// <summary>
/// Gets or sets the category of the plugin.
/// </summary>
[JsonPropertyName("category")]
4 years ago
public string Category { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the changelog information.
/// </summary>
[JsonPropertyName("changelog")]
4 years ago
public string Changelog { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the description of the plugin.
/// </summary>
[JsonPropertyName("description")]
4 years ago
public string Description { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the Global Unique Identifier for the plugin.
/// </summary>
[JsonPropertyName("guid")]
[JsonConverter(typeof(JsonGuidDashConverter))]
public Guid Id { get; set; }
4 years ago
/// <summary>
/// Gets or sets the Name of the plugin.
/// </summary>
[JsonPropertyName("name")]
4 years ago
public string Name { get; set; } = string.Empty;
/// <summary>
/// Gets or sets an overview of the plugin.
/// </summary>
[JsonPropertyName("overview")]
4 years ago
public string Overview { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the owner of the plugin.
/// </summary>
[JsonPropertyName("owner")]
4 years ago
public string Owner { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the compatibility version for the plugin.
/// </summary>
[JsonPropertyName("targetAbi")]
4 years ago
public string TargetAbi { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the timestamp of the plugin.
/// </summary>
[JsonPropertyName("timestamp")]
4 years ago
public DateTime Timestamp { get; set; }
/// <summary>
/// Gets or sets the Version number of the plugin.
/// </summary>
[JsonPropertyName("version")]
4 years ago
public string Version { get; set; } = string.Empty;
/// <summary>
/// Gets or sets a value indicating the operational status of this plugin.
4 years ago
/// </summary>
[JsonPropertyName("status")]
4 years ago
public PluginStatus Status { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this plugin should automatically update.
/// </summary>
[JsonPropertyName("autoUpdate")]
4 years ago
public bool AutoUpdate { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether this plugin has an image.
/// Image must be located in the local plugin folder.
/// </summary>
[JsonPropertyName("imagePath")]
public string? ImagePath { get; set; }
4 years ago
}
}