mirror of https://github.com/lidarr/Lidarr
39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Lidarr.Http.REST;
|
|
using NzbDrone.Core.Plugins;
|
|
|
|
namespace Lidarr.Api.V1.System.Plugins
|
|
{
|
|
public class PluginResource : RestResource
|
|
{
|
|
public string Name { get; set; }
|
|
public string Owner { get; set; }
|
|
public string GithubUrl { get; set; }
|
|
public string InstalledVersion { get; set; }
|
|
public string AvailableVersion { get; set; }
|
|
public bool UpdateAvailable { get; set; }
|
|
}
|
|
|
|
public static class PluginResourceMapper
|
|
{
|
|
public static PluginResource ToResource(this IPlugin plugin)
|
|
{
|
|
return new PluginResource
|
|
{
|
|
Name = plugin.Name,
|
|
Owner = plugin.Owner,
|
|
GithubUrl = plugin.GithubUrl,
|
|
InstalledVersion = plugin.InstalledVersion.ToString(),
|
|
AvailableVersion = plugin.AvailableVersion.ToString(),
|
|
UpdateAvailable = plugin.AvailableVersion > plugin.InstalledVersion
|
|
};
|
|
}
|
|
|
|
public static List<PluginResource> ToResource(this IEnumerable<IPlugin> plugins)
|
|
{
|
|
return plugins.Select(ToResource).ToList();
|
|
}
|
|
}
|
|
}
|