using System;
namespace Flow.Launcher.Plugin
{
///
/// User Plugin Model for Flow Launcher
///
public record UserPlugin
{
///
/// Unique identifier of the plugin
///
public string ID { get; set; }
///
/// Name of the plugin
///
public string Name { get; set; }
///
/// Description of the plugin
///
public string Description { get; set; }
///
/// Author of the plugin
///
public string Author { get; set; }
///
/// Version of the plugin
///
public string Version { get; set; }
///
/// Allow language of the plugin
///
public string Language { get; set; }
///
/// Website of the plugin
///
public string Website { get; set; }
///
/// URL to download the plugin
///
public string UrlDownload { get; set; }
///
/// URL to the source code of the plugin
///
public string UrlSourceCode { get; set; }
///
/// Local path where the plugin is installed
///
public string LocalInstallPath { get; set; }
///
/// Icon path of the plugin
///
public string IcoPath { get; set; }
///
/// The date when the plugin was last updated
///
public DateTime? LatestReleaseDate { get; set; }
///
/// The date when the plugin was added to the local system
///
public DateTime? DateAdded { get; set; }
///
/// Indicates whether the plugin is installed from a local path
///
public bool IsFromLocalInstallPath => !string.IsNullOrEmpty(LocalInstallPath);
///
/// The minimum Flow Launcher version required for this plugin. Default is "".
///
public string MinimumAppVersion { get; set; } = string.Empty;
}
}