aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/PackageService.cs18
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj1
-rw-r--r--MediaBrowser.Common/Plugins/BasePlugin.cs8
-rw-r--r--MediaBrowser.Common/Plugins/IUIPlugin.cs16
-rw-r--r--MediaBrowser.Model/Plugins/PluginInfo.cs7
5 files changed, 14 insertions, 36 deletions
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs
index 742e26bc0..c80841a9a 100644
--- a/MediaBrowser.Api/PackageService.cs
+++ b/MediaBrowser.Api/PackageService.cs
@@ -30,7 +30,7 @@ namespace MediaBrowser.Api
/// Class GetPackages
/// </summary>
[Route("/Packages", "GET")]
- [ServiceStack.ServiceHost.Api(("Gets available packages"))]
+ [Api(("Gets available packages"))]
public class GetPackages : IReturn<List<PackageInfo>>
{
/// <summary>
@@ -39,13 +39,16 @@ namespace MediaBrowser.Api
/// <value>The name.</value>
[ApiMember(Name = "PackageType", Description = "Optional package type filter (System/UserInstalled)", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public PackageType? PackageType { get; set; }
+
+ [ApiMember(Name = "Applications", Description = "Optional. Filter by target system type. Allows multiple, comma delimited.", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET", AllowMultiple = true)]
+ public string Applications { get; set; }
}
/// <summary>
/// Class GetPackageVersionUpdates
/// </summary>
[Route("/Packages/Updates", "GET")]
- [ServiceStack.ServiceHost.Api(("Gets available package updates for currently installed packages"))]
+ [Api(("Gets available package updates for currently installed packages"))]
public class GetPackageVersionUpdates : IReturn<List<PackageVersionInfo>>
{
/// <summary>
@@ -60,7 +63,7 @@ namespace MediaBrowser.Api
/// Class InstallPackage
/// </summary>
[Route("/Packages/Installed/{Name}", "POST")]
- [ServiceStack.ServiceHost.Api(("Installs a package"))]
+ [Api(("Installs a package"))]
public class InstallPackage : IReturnVoid
{
/// <summary>
@@ -89,7 +92,7 @@ namespace MediaBrowser.Api
/// Class CancelPackageInstallation
/// </summary>
[Route("/Packages/Installing/{Id}", "DELETE")]
- [ServiceStack.ServiceHost.Api(("Cancels a package installation"))]
+ [Api(("Cancels a package installation"))]
public class CancelPackageInstallation : IReturnVoid
{
/// <summary>
@@ -165,6 +168,13 @@ namespace MediaBrowser.Api
{
var packages = _installationManager.GetAvailablePackages(CancellationToken.None, request.PackageType, _appHost.ApplicationVersion).Result;
+ if (!string.IsNullOrEmpty(request.Applications))
+ {
+ var apps = request.Applications.Split(',').Select(i => (PackageTargetSystem)Enum.Parse(typeof(PackageTargetSystem), i, true));
+
+ packages = packages.Where(p => apps.Contains(p.targetSystem));
+ }
+
return ToOptimizedResult(packages.ToList());
}
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index e9dda6bb7..b2553ce22 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -85,7 +85,6 @@
<Compile Include="Net\MimeTypes.cs" />
<Compile Include="Net\WebSocketConnectEventArgs.cs" />
<Compile Include="Plugins\IPlugin.cs" />
- <Compile Include="Plugins\IUIPlugin.cs" />
<Compile Include="Progress\ActionableProgress.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs
index 9c4a8e8ff..ebf1497f4 100644
--- a/MediaBrowser.Common/Plugins/BasePlugin.cs
+++ b/MediaBrowser.Common/Plugins/BasePlugin.cs
@@ -299,7 +299,6 @@ namespace MediaBrowser.Common.Plugins
var info = new PluginInfo
{
Name = Name,
- DownloadToUI = this is IUIPlugin,
Version = Version.ToString(),
AssemblyFileName = AssemblyFileName,
ConfigurationDateLastModified = ConfigurationDateLastModified,
@@ -310,13 +309,6 @@ namespace MediaBrowser.Common.Plugins
ConfigurationFileName = ConfigurationFileName
};
- var uiPlugin = this as IUIPlugin;
-
- if (uiPlugin != null)
- {
- info.MinimumRequiredUIVersion = uiPlugin.MinimumRequiredUIVersion.ToString();
- }
-
return info;
}
diff --git a/MediaBrowser.Common/Plugins/IUIPlugin.cs b/MediaBrowser.Common/Plugins/IUIPlugin.cs
deleted file mode 100644
index c454b4da7..000000000
--- a/MediaBrowser.Common/Plugins/IUIPlugin.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-
-namespace MediaBrowser.Common.Plugins
-{
- /// <summary>
- /// Interface IUIPlugin
- /// </summary>
- public interface IUIPlugin : IPlugin
- {
- /// <summary>
- /// Gets the minimum required UI version.
- /// </summary>
- /// <value>The minimum required UI version.</value>
- Version MinimumRequiredUIVersion { get; }
- }
-}
diff --git a/MediaBrowser.Model/Plugins/PluginInfo.cs b/MediaBrowser.Model/Plugins/PluginInfo.cs
index 4aa5f5a5c..2df635db0 100644
--- a/MediaBrowser.Model/Plugins/PluginInfo.cs
+++ b/MediaBrowser.Model/Plugins/PluginInfo.cs
@@ -18,13 +18,6 @@ namespace MediaBrowser.Model.Plugins
public string Name { get; set; }
/// <summary>
- /// Gets or sets a value indicating whether [download to UI].
- /// </summary>
- /// <value><c>true</c> if [download to UI]; otherwise, <c>false</c>.</value>
- [ProtoMember(2)]
- public bool DownloadToUI { get; set; }
-
- /// <summary>
/// Gets or sets the configuration date last modified.
/// </summary>
/// <value>The configuration date last modified.</value>