using System ;
using System.Collections.Generic ;
using System.Text.Json.Serialization ;
namespace MediaBrowser.Model.Updates
{
/// <summary>
/// Class PackageInfo.
/// </summary>
public class PackageInfo
{
/// <summary>
/// Initializes a new instance of the <see cref="PackageInfo"/> class.
/// </summary>
public PackageInfo ( )
{
Versions = Array . Empty < VersionInfo > ( ) ;
Category = string . Empty ;
Name = string . Empty ;
Overview = string . Empty ;
Owner = string . Empty ;
Description = string . Empty ;
}
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
[JsonPropertyName("name")]
public string Name { get ; set ; }
/// <summary>
/// Gets or sets a long description of the plugin containing features or helpful explanations.
/// </summary>
/// <value>The description.</value>
[JsonPropertyName("description")]
public string Description { get ; set ; }
/// <summary>
/// Gets or sets a short overview of what the plugin does.
/// </summary>
/// <value>The overview.</value>
[JsonPropertyName("overview")]
public string Overview { get ; set ; }
/// <summary>
/// Gets or sets the owner.
/// </summary>
/// <value>The owner.</value>
[JsonPropertyName("owner")]
public string Owner { get ; set ; }
/// <summary>
/// Gets or sets the category.
/// </summary>
/// <value>The category.</value>
[JsonPropertyName("category")]
public string Category { get ; set ; }
/// <summary>
/// Gets or sets the guid of the assembly associated with this plugin.
/// This is used to identify the proper item for automatic updates.
/// </summary>
/// <value>The name.</value>
[JsonPropertyName("guid")]
public Guid Id { get ; set ; }
/// <summary>
/// Gets or sets the versions.
/// </summary>
/// <value>The versions.</value>
[JsonPropertyName("versions")]
#pragma warning disable CA2227 // Collection properties should be read only
public IList < VersionInfo > Versions { get ; set ; }
#pragma warning restore CA2227 // Collection properties should be read only
/// <summary>
/// Gets or sets the image url for the package.
/// </summary>
[JsonPropertyName("imageUrl")]
public string? ImageUrl { get ; set ; }
}
}