Browse Source

Merge pull request #5010 from BaronGreenback/Remove_IPluginConfigurationPage

Removal of IPluginConfigurationPage
dkanada 4 years ago
parent
commit
86859a3926

+ 8 - 50
Jellyfin.Api/Controllers/DashboardController.cs

@@ -51,7 +51,6 @@ namespace Jellyfin.Api.Controllers
         /// Gets the configuration pages.
         /// </summary>
         /// <param name="enableInMainMenu">Whether to enable in the main menu.</param>
-        /// <param name="pageType">The <see cref="ConfigurationPageInfo"/>.</param>
         /// <response code="200">ConfigurationPages returned.</response>
         /// <response code="404">Server still loading.</response>
         /// <returns>An <see cref="IEnumerable{ConfigurationPageInfo}"/> with infos about the plugins.</returns>
@@ -59,40 +58,9 @@ namespace Jellyfin.Api.Controllers
         [ProducesResponseType(StatusCodes.Status200OK)]
         [ProducesResponseType(StatusCodes.Status404NotFound)]
         public ActionResult<IEnumerable<ConfigurationPageInfo?>> GetConfigurationPages(
-            [FromQuery] bool? enableInMainMenu,
-            [FromQuery] ConfigurationPageType? pageType)
+            [FromQuery] bool? enableInMainMenu)
         {
-            const string unavailableMessage = "The server is still loading. Please try again momentarily.";
-
-            var pages = _appHost.GetExports<IPluginConfigurationPage>().ToList();
-
-            if (pages == null)
-            {
-                return NotFound(unavailableMessage);
-            }
-
-            // Don't allow a failing plugin to fail them all
-            var configPages = pages.Select(p =>
-                {
-                    try
-                    {
-                        return new ConfigurationPageInfo(p);
-                    }
-                    catch (Exception ex)
-                    {
-                        _logger.LogError(ex, "Error getting plugin information from {Plugin}", p.GetType().Name);
-                        return null;
-                    }
-                })
-                .Where(i => i != null)
-                .ToList();
-
-            configPages.AddRange(_pluginManager.Plugins.SelectMany(GetConfigPages));
-
-            if (pageType.HasValue)
-            {
-                configPages = configPages.Where(p => p!.ConfigurationPageType == pageType).ToList();
-            }
+            var configPages = _pluginManager.Plugins.SelectMany(GetConfigPages).ToList();
 
             if (enableInMainMenu.HasValue)
             {
@@ -121,24 +89,14 @@ namespace Jellyfin.Api.Controllers
             var isJs = false;
             var isTemplate = false;
 
-            var page = _appHost.GetExports<IPluginConfigurationPage>().FirstOrDefault(p => string.Equals(p.Name, name, StringComparison.OrdinalIgnoreCase));
-            if (page != null)
-            {
-                plugin = page.Plugin;
-                stream = page.GetHtmlStream();
-            }
-
-            if (plugin == null)
+            var altPage = GetPluginPages().FirstOrDefault(p => string.Equals(p.Item1.Name, name, StringComparison.OrdinalIgnoreCase));
+            if (altPage != null)
             {
-                var altPage = GetPluginPages().FirstOrDefault(p => string.Equals(p.Item1.Name, name, StringComparison.OrdinalIgnoreCase));
-                if (altPage != null)
-                {
-                    plugin = altPage.Item2;
-                    stream = plugin.GetType().Assembly.GetManifestResourceStream(altPage.Item1.EmbeddedResourcePath);
+                plugin = altPage.Item2;
+                stream = plugin.GetType().Assembly.GetManifestResourceStream(altPage.Item1.EmbeddedResourcePath);
 
-                    isJs = string.Equals(Path.GetExtension(altPage.Item1.EmbeddedResourcePath), ".js", StringComparison.OrdinalIgnoreCase);
-                    isTemplate = altPage.Item1.EmbeddedResourcePath.EndsWith(".template.html", StringComparison.Ordinal);
-                }
+                isJs = string.Equals(Path.GetExtension(altPage.Item1.EmbeddedResourcePath), ".js", StringComparison.OrdinalIgnoreCase);
+                isTemplate = altPage.Item1.EmbeddedResourcePath.EndsWith(".template.html", StringComparison.Ordinal);
             }
 
             if (plugin != null && stream != null)

+ 0 - 23
Jellyfin.Api/Models/ConfigurationPageInfo.cs

@@ -10,23 +10,6 @@ namespace Jellyfin.Api.Models
     /// </summary>
     public class ConfigurationPageInfo
     {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="ConfigurationPageInfo"/> class.
-        /// </summary>
-        /// <param name="page">Instance of <see cref="IPluginConfigurationPage"/> interface.</param>
-        public ConfigurationPageInfo(IPluginConfigurationPage page)
-        {
-            Name = page.Name;
-
-            ConfigurationPageType = page.ConfigurationPageType;
-
-            if (page.Plugin != null)
-            {
-                DisplayName = page.Plugin.Name;
-                PluginId = page.Plugin.Id;
-            }
-        }
-
         /// <summary>
         /// Initializes a new instance of the <see cref="ConfigurationPageInfo"/> class.
         /// </summary>
@@ -68,12 +51,6 @@ namespace Jellyfin.Api.Models
         /// </summary>
         public string? DisplayName { get; set; }
 
-        /// <summary>
-        /// Gets or sets the type of the configuration page.
-        /// </summary>
-        /// <value>The type of the configuration page.</value>
-        public ConfigurationPageType ConfigurationPageType { get; set; }
-
         /// <summary>
         /// Gets or sets the plugin id.
         /// </summary>

+ 0 - 51
MediaBrowser.Controller/Plugins/IPluginConfigurationPage.cs

@@ -1,51 +0,0 @@
-using System.IO;
-using MediaBrowser.Common.Plugins;
-
-namespace MediaBrowser.Controller.Plugins
-{
-    /// <summary>
-    /// Interface IConfigurationPage.
-    /// </summary>
-    public interface IPluginConfigurationPage
-    {
-        /// <summary>
-        /// Gets the name.
-        /// </summary>
-        /// <value>The name.</value>
-        string Name { get; }
-
-        /// <summary>
-        /// Gets the type of the configuration page.
-        /// </summary>
-        /// <value>The type of the configuration page.</value>
-        ConfigurationPageType ConfigurationPageType { get; }
-
-        /// <summary>
-        /// Gets the plugin.
-        /// </summary>
-        /// <value>The plugin.</value>
-        IPlugin Plugin { get; }
-
-        /// <summary>
-        /// Gets the HTML stream.
-        /// </summary>
-        /// <returns>Stream.</returns>
-        Stream GetHtmlStream();
-    }
-
-    /// <summary>
-    /// Enum ConfigurationPageType.
-    /// </summary>
-    public enum ConfigurationPageType
-    {
-        /// <summary>
-        /// The plugin configuration.
-        /// </summary>
-        PluginConfiguration,
-
-        /// <summary>
-        /// The none.
-        /// </summary>
-        None
-    }
-}