2
0
Эх сурвалжийг харах

Merge pull request #2466 from dkanada/plugin

Update plugin classes for nightly builds
Vasily 5 жил өмнө
parent
commit
07143bcb68

+ 5 - 5
Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs

@@ -422,7 +422,7 @@ namespace Emby.Server.Implementations.Activity
             });
         }
 
-        private void OnPluginUpdated(object sender, GenericEventArgs<(IPlugin, PackageVersionInfo)> e)
+        private void OnPluginUpdated(object sender, GenericEventArgs<(IPlugin, VersionInfo)> e)
         {
             CreateLogEntry(new ActivityLogEntry
             {
@@ -434,8 +434,8 @@ namespace Emby.Server.Implementations.Activity
                 ShortOverview = string.Format(
                     CultureInfo.InvariantCulture,
                     _localization.GetLocalizedString("VersionNumber"),
-                    e.Argument.Item2.versionStr),
-                Overview = e.Argument.Item2.description
+                    e.Argument.Item2.version),
+                Overview = e.Argument.Item2.changelog
             });
         }
 
@@ -451,7 +451,7 @@ namespace Emby.Server.Implementations.Activity
             });
         }
 
-        private void OnPluginInstalled(object sender, GenericEventArgs<PackageVersionInfo> e)
+        private void OnPluginInstalled(object sender, GenericEventArgs<VersionInfo> e)
         {
             CreateLogEntry(new ActivityLogEntry
             {
@@ -463,7 +463,7 @@ namespace Emby.Server.Implementations.Activity
                 ShortOverview = string.Format(
                     CultureInfo.InvariantCulture,
                     _localization.GetLocalizedString("VersionNumber"),
-                    e.Argument.versionStr)
+                    e.Argument.version)
             });
         }
 

+ 0 - 14
Emby.Server.Implementations/ApplicationHost.cs

@@ -211,19 +211,6 @@ namespace Emby.Server.Implementations
 
         public IFileSystem FileSystemManager { get; set; }
 
-        /// <inheritdoc />
-        public PackageVersionClass SystemUpdateLevel
-        {
-            get
-            {
-#if BETA
-                return PackageVersionClass.Beta;
-#else
-                return PackageVersionClass.Release;
-#endif
-            }
-        }
-
         /// <summary>
         /// Gets or sets the service provider.
         /// </summary>
@@ -1390,7 +1377,6 @@ namespace Emby.Server.Implementations
                 SupportsLibraryMonitor = true,
                 EncoderLocation = MediaEncoder.EncoderLocation,
                 SystemArchitecture = RuntimeInformation.OSArchitecture,
-                SystemUpdateLevel = SystemUpdateLevel,
                 PackageName = StartupOptions.PackageName
             };
         }

+ 1 - 1
Emby.Server.Implementations/ConfigurationOptions.cs

@@ -18,7 +18,7 @@ namespace Emby.Server.Implementations
         {
             { HostWebClientKey, bool.TrueString },
             { HttpListenerHost.DefaultRedirectKey, "web/index.html" },
-            { InstallationManager.PluginManifestUrlKey, "https://repo.jellyfin.org/releases/plugin/manifest.json" },
+            { InstallationManager.PluginManifestUrlKey, "https://repo.jellyfin.org/releases/plugin/manifest-stable.json" },
             { FfmpegProbeSizeKey, "1G" },
             { FfmpegAnalyzeDurationKey, "200M" },
             { PlaylistsAllowDuplicatesKey, bool.TrueString }

+ 35 - 42
Emby.Server.Implementations/Updates/InstallationManager.cs

@@ -26,7 +26,7 @@ using Microsoft.Extensions.Logging;
 namespace Emby.Server.Implementations.Updates
 {
     /// <summary>
-    /// Manages all install, uninstall and update operations (both plugins and system).
+    /// Manages all install, uninstall, and update operations for the system and individual plugins.
     /// </summary>
     public class InstallationManager : IInstallationManager
     {
@@ -36,7 +36,7 @@ namespace Emby.Server.Implementations.Updates
         public const string PluginManifestUrlKey = "InstallationManager:PluginManifestUrl";
 
         /// <summary>
-        /// The _logger.
+        /// The logger.
         /// </summary>
         private readonly ILogger _logger;
         private readonly IApplicationPaths _appPaths;
@@ -112,10 +112,10 @@ namespace Emby.Server.Implementations.Updates
         public event EventHandler<GenericEventArgs<IPlugin>> PluginUninstalled;
 
         /// <inheritdoc />
-        public event EventHandler<GenericEventArgs<(IPlugin, PackageVersionInfo)>> PluginUpdated;
+        public event EventHandler<GenericEventArgs<(IPlugin, VersionInfo)>> PluginUpdated;
 
         /// <inheritdoc />
-        public event EventHandler<GenericEventArgs<PackageVersionInfo>> PluginInstalled;
+        public event EventHandler<GenericEventArgs<VersionInfo>> PluginInstalled;
 
         /// <inheritdoc />
         public IEnumerable<InstallationInfo> CompletedInstallations => _completedInstallationsInternal;
@@ -183,61 +183,56 @@ namespace Emby.Server.Implementations.Updates
         }
 
         /// <inheritdoc />
-        public IEnumerable<PackageVersionInfo> GetCompatibleVersions(
-            IEnumerable<PackageVersionInfo> availableVersions,
-            Version minVersion = null,
-            PackageVersionClass classification = PackageVersionClass.Release)
+        public IEnumerable<VersionInfo> GetCompatibleVersions(
+            IEnumerable<VersionInfo> availableVersions,
+            Version minVersion = null)
         {
             var appVer = _applicationHost.ApplicationVersion;
             availableVersions = availableVersions
-                .Where(x => x.classification == classification
-                    && Version.Parse(x.requiredVersionStr) <= appVer);
+                .Where(x => Version.Parse(x.targetAbi) <= appVer);
 
             if (minVersion != null)
             {
-                availableVersions = availableVersions.Where(x => x.Version >= minVersion);
+                availableVersions = availableVersions.Where(x => x.version >= minVersion);
             }
 
-            return availableVersions.OrderByDescending(x => x.Version);
+            return availableVersions.OrderByDescending(x => x.version);
         }
 
         /// <inheritdoc />
-        public IEnumerable<PackageVersionInfo> GetCompatibleVersions(
+        public IEnumerable<VersionInfo> GetCompatibleVersions(
             IEnumerable<PackageInfo> availablePackages,
             string name = null,
             Guid guid = default,
-            Version minVersion = null,
-            PackageVersionClass classification = PackageVersionClass.Release)
+            Version minVersion = null)
         {
             var package = FilterPackages(availablePackages, name, guid).FirstOrDefault();
 
-            // Package not found.
+            // Package not found in repository
             if (package == null)
             {
-                return Enumerable.Empty<PackageVersionInfo>();
+                return Enumerable.Empty<VersionInfo>();
             }
 
             return GetCompatibleVersions(
                 package.versions,
-                minVersion,
-                classification);
+                minVersion);
         }
 
         /// <inheritdoc />
-        public async Task<IEnumerable<PackageVersionInfo>> GetAvailablePluginUpdates(CancellationToken cancellationToken = default)
+        public async Task<IEnumerable<VersionInfo>> GetAvailablePluginUpdates(CancellationToken cancellationToken = default)
         {
             var catalog = await GetAvailablePackages(cancellationToken).ConfigureAwait(false);
             return GetAvailablePluginUpdates(catalog);
         }
 
-        private IEnumerable<PackageVersionInfo> GetAvailablePluginUpdates(IReadOnlyList<PackageInfo> pluginCatalog)
+        private IEnumerable<VersionInfo> GetAvailablePluginUpdates(IReadOnlyList<PackageInfo> pluginCatalog)
         {
             foreach (var plugin in _applicationHost.Plugins)
             {
-                var compatibleversions = GetCompatibleVersions(pluginCatalog, plugin.Name, plugin.Id, plugin.Version, _applicationHost.SystemUpdateLevel);
-                var version = compatibleversions.FirstOrDefault(y => y.Version > plugin.Version);
-                if (version != null
-                    && !CompletedInstallations.Any(x => string.Equals(x.AssemblyGuid, version.guid, StringComparison.OrdinalIgnoreCase)))
+                var compatibleversions = GetCompatibleVersions(pluginCatalog, plugin.Name, plugin.Id, plugin.Version);
+                var version = compatibleversions.FirstOrDefault(y => y.version > plugin.Version);
+                if (version != null && !CompletedInstallations.Any(x => string.Equals(x.Guid, version.guid, StringComparison.OrdinalIgnoreCase)))
                 {
                     yield return version;
                 }
@@ -245,7 +240,7 @@ namespace Emby.Server.Implementations.Updates
         }
 
         /// <inheritdoc />
-        public async Task InstallPackage(PackageVersionInfo package, CancellationToken cancellationToken)
+        public async Task InstallPackage(VersionInfo package, CancellationToken cancellationToken)
         {
             if (package == null)
             {
@@ -254,11 +249,9 @@ namespace Emby.Server.Implementations.Updates
 
             var installationInfo = new InstallationInfo
             {
-                Id = Guid.NewGuid(),
+                Guid = package.guid,
                 Name = package.name,
-                AssemblyGuid = package.guid,
-                UpdateClass = package.classification,
-                Version = package.versionStr
+                Version = package.version.ToString()
             };
 
             var innerCancellationTokenSource = new CancellationTokenSource();
@@ -276,7 +269,7 @@ namespace Emby.Server.Implementations.Updates
             var installationEventArgs = new InstallationEventArgs
             {
                 InstallationInfo = installationInfo,
-                PackageVersionInfo = package
+                VersionInfo = package
             };
 
             PackageInstalling?.Invoke(this, installationEventArgs);
@@ -301,7 +294,7 @@ namespace Emby.Server.Implementations.Updates
                     _currentInstallations.Remove(tuple);
                 }
 
-                _logger.LogInformation("Package installation cancelled: {0} {1}", package.name, package.versionStr);
+                _logger.LogInformation("Package installation cancelled: {0} {1}", package.name, package.version);
 
                 PackageInstallationCancelled?.Invoke(this, installationEventArgs);
 
@@ -337,7 +330,7 @@ namespace Emby.Server.Implementations.Updates
         /// <param name="package">The package.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns><see cref="Task" />.</returns>
-        private async Task InstallPackageInternal(PackageVersionInfo package, CancellationToken cancellationToken)
+        private async Task InstallPackageInternal(VersionInfo package, CancellationToken cancellationToken)
         {
             // Set last update time if we were installed before
             IPlugin plugin = _applicationHost.Plugins.FirstOrDefault(p => string.Equals(p.Id.ToString(), package.guid, StringComparison.OrdinalIgnoreCase))
@@ -349,26 +342,26 @@ namespace Emby.Server.Implementations.Updates
             // Do plugin-specific processing
             if (plugin == null)
             {
-                _logger.LogInformation("New plugin installed: {0} {1} {2}", package.name, package.versionStr ?? string.Empty, package.classification);
+                _logger.LogInformation("New plugin installed: {0} {1} {2}", package.name, package.version);
 
-                PluginInstalled?.Invoke(this, new GenericEventArgs<PackageVersionInfo>(package));
+                PluginInstalled?.Invoke(this, new GenericEventArgs<VersionInfo>(package));
             }
             else
             {
-                _logger.LogInformation("Plugin updated: {0} {1} {2}", package.name, package.versionStr ?? string.Empty, package.classification);
+                _logger.LogInformation("Plugin updated: {0} {1} {2}", package.name, package.version);
 
-                PluginUpdated?.Invoke(this, new GenericEventArgs<(IPlugin, PackageVersionInfo)>((plugin, package)));
+                PluginUpdated?.Invoke(this, new GenericEventArgs<(IPlugin, VersionInfo)>((plugin, package)));
             }
 
             _applicationHost.NotifyPendingRestart();
         }
 
-        private async Task PerformPackageInstallation(PackageVersionInfo package, CancellationToken cancellationToken)
+        private async Task PerformPackageInstallation(VersionInfo package, CancellationToken cancellationToken)
         {
-            var extension = Path.GetExtension(package.targetFilename);
+            var extension = Path.GetExtension(package.filename);
             if (!string.Equals(extension, ".zip", StringComparison.OrdinalIgnoreCase))
             {
-                _logger.LogError("Only zip packages are supported. {Filename} is not a zip archive.", package.targetFilename);
+                _logger.LogError("Only zip packages are supported. {Filename} is not a zip archive.", package.filename);
                 return;
             }
 
@@ -415,7 +408,7 @@ namespace Emby.Server.Implementations.Updates
         }
 
         /// <summary>
-        /// Uninstalls a plugin
+        /// Uninstalls a plugin.
         /// </summary>
         /// <param name="plugin">The plugin.</param>
         public void UninstallPlugin(IPlugin plugin)
@@ -473,7 +466,7 @@ namespace Emby.Server.Implementations.Updates
         {
             lock (_currentInstallationsLock)
             {
-                var install = _currentInstallations.Find(x => x.info.Id == id);
+                var install = _currentInstallations.Find(x => x.info.Guid == id.ToString());
                 if (install == default((InstallationInfo, CancellationTokenSource)))
                 {
                     return false;

+ 1 - 43
MediaBrowser.Api/PackageService.cs

@@ -42,23 +42,6 @@ namespace MediaBrowser.Api
     [Authenticated]
     public class GetPackages : IReturn<PackageInfo[]>
     {
-        /// <summary>
-        /// Gets or sets the name.
-        /// </summary>
-        /// <value>The name.</value>
-        [ApiMember(Name = "PackageType", Description = "Optional package type filter (System/UserInstalled)", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
-        public string PackageType { get; set; }
-
-        [ApiMember(Name = "TargetSystems", Description = "Optional. Filter by target system type. Allows multiple, comma delimited.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
-        public string TargetSystems { get; set; }
-
-        [ApiMember(Name = "IsPremium", Description = "Optional. Filter by premium status", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
-        public bool? IsPremium { get; set; }
-
-        [ApiMember(Name = "IsAdult", Description = "Optional. Filter by package that contain adult content.", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
-        public bool? IsAdult { get; set; }
-
-        public bool? IsAppStoreEnabled { get; set; }
     }
 
     /// <summary>
@@ -88,13 +71,6 @@ namespace MediaBrowser.Api
         /// <value>The version.</value>
         [ApiMember(Name = "Version", Description = "Optional version. Defaults to latest version.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
         public string Version { get; set; }
-
-        /// <summary>
-        /// Gets or sets the update class.
-        /// </summary>
-        /// <value>The update class.</value>
-        [ApiMember(Name = "UpdateClass", Description = "Optional update class (Dev, Beta, Release). Defaults to Release.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
-        public PackageVersionClass UpdateClass { get; set; }
     }
 
     /// <summary>
@@ -154,23 +130,6 @@ namespace MediaBrowser.Api
         {
             IEnumerable<PackageInfo> packages = await _installationManager.GetAvailablePackages().ConfigureAwait(false);
 
-            if (!string.IsNullOrEmpty(request.TargetSystems))
-            {
-                var apps = request.TargetSystems.Split(',').Select(i => (PackageTargetSystem)Enum.Parse(typeof(PackageTargetSystem), i, true));
-
-                packages = packages.Where(p => apps.Contains(p.targetSystem));
-            }
-
-            if (request.IsAdult.HasValue)
-            {
-                packages = packages.Where(p => p.adult == request.IsAdult.Value);
-            }
-
-            if (request.IsAppStoreEnabled.HasValue)
-            {
-                packages = packages.Where(p => p.enableInAppStore == request.IsAppStoreEnabled.Value);
-            }
-
             return ToOptimizedResult(packages.ToArray());
         }
 
@@ -186,8 +145,7 @@ namespace MediaBrowser.Api
                     packages,
                     request.Name,
                     string.IsNullOrEmpty(request.AssemblyGuid) ? Guid.Empty : Guid.Parse(request.AssemblyGuid),
-                    string.IsNullOrEmpty(request.Version) ? null : Version.Parse(request.Version),
-                    request.UpdateClass).FirstOrDefault();
+                    string.IsNullOrEmpty(request.Version) ? null : Version.Parse(request.Version)).FirstOrDefault();
 
             if (package == null)
             {

+ 0 - 6
MediaBrowser.Common/IApplicationHost.cs

@@ -48,12 +48,6 @@ namespace MediaBrowser.Common
         /// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
         bool CanSelfRestart { get; }
 
-        /// <summary>
-        /// Gets the version class of the system.
-        /// </summary>
-        /// <value><see cref="PackageVersionClass.Release" /> or <see cref="PackageVersionClass.Beta" />.</value>
-        PackageVersionClass SystemUpdateLevel { get; }
-
         /// <summary>
         /// Gets the application version.
         /// </summary>

+ 4 - 4
MediaBrowser.Common/Plugins/BasePlugin.cs

@@ -67,7 +67,7 @@ namespace MediaBrowser.Common.Plugins
         }
 
         /// <summary>
-        /// Called when just before the plugin is uninstalled from the server.
+        /// Called just before the plugin is uninstalled from the server.
         /// </summary>
         public virtual void OnUninstalling()
         {
@@ -101,7 +101,7 @@ namespace MediaBrowser.Common.Plugins
         private readonly object _configurationSyncLock = new object();
 
         /// <summary>
-        /// The save lock.
+        /// The configuration save lock.
         /// </summary>
         private readonly object _configurationSaveLock = new object();
 
@@ -148,7 +148,7 @@ namespace MediaBrowser.Common.Plugins
         protected string AssemblyFileName => Path.GetFileName(AssemblyFilePath);
 
         /// <summary>
-        /// Gets or sets the plugin's configuration.
+        /// Gets or sets the plugin configuration.
         /// </summary>
         /// <value>The configuration.</value>
         public TConfigurationType Configuration
@@ -186,7 +186,7 @@ namespace MediaBrowser.Common.Plugins
         public string ConfigurationFilePath => Path.Combine(ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
 
         /// <summary>
-        /// Gets the plugin's configuration.
+        /// Gets the plugin configuration.
         /// </summary>
         /// <value>The configuration.</value>
         BasePluginConfiguration IHasPluginConfiguration.Configuration => Configuration;

+ 9 - 13
MediaBrowser.Common/Updates/IInstallationManager.cs

@@ -28,12 +28,12 @@ namespace MediaBrowser.Common.Updates
         /// <summary>
         /// Occurs when a plugin is updated.
         /// </summary>
-        event EventHandler<GenericEventArgs<(IPlugin, PackageVersionInfo)>> PluginUpdated;
+        event EventHandler<GenericEventArgs<(IPlugin, VersionInfo)>> PluginUpdated;
 
         /// <summary>
         /// Occurs when a plugin is installed.
         /// </summary>
-        event EventHandler<GenericEventArgs<PackageVersionInfo>> PluginInstalled;
+        event EventHandler<GenericEventArgs<VersionInfo>> PluginInstalled;
 
         /// <summary>
         /// Gets the completed installations.
@@ -64,12 +64,10 @@ namespace MediaBrowser.Common.Updates
         /// </summary>
         /// <param name="availableVersions">The available version of the plugin.</param>
         /// <param name="minVersion">The minimum required version of the plugin.</param>
-        /// <param name="classification">The classification of updates.</param>
         /// <returns>All compatible versions ordered from newest to oldest.</returns>
-        IEnumerable<PackageVersionInfo> GetCompatibleVersions(
-            IEnumerable<PackageVersionInfo> availableVersions,
-            Version minVersion = null,
-            PackageVersionClass classification = PackageVersionClass.Release);
+        IEnumerable<VersionInfo> GetCompatibleVersions(
+            IEnumerable<VersionInfo> availableVersions,
+            Version minVersion = null);
 
         /// <summary>
         /// Returns all compatible versions ordered from newest to oldest.
@@ -78,21 +76,19 @@ namespace MediaBrowser.Common.Updates
         /// <param name="name">The name.</param>
         /// <param name="guid">The guid of the plugin.</param>
         /// <param name="minVersion">The minimum required version of the plugin.</param>
-        /// <param name="classification">The classification.</param>
         /// <returns>All compatible versions ordered from newest to oldest.</returns>
-        IEnumerable<PackageVersionInfo> GetCompatibleVersions(
+        IEnumerable<VersionInfo> GetCompatibleVersions(
             IEnumerable<PackageInfo> availablePackages,
             string name = null,
             Guid guid = default,
-            Version minVersion = null,
-            PackageVersionClass classification = PackageVersionClass.Release);
+            Version minVersion = null);
 
         /// <summary>
         /// Returns the available plugin updates.
         /// </summary>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>The available plugin updates.</returns>
-        Task<IEnumerable<PackageVersionInfo>> GetAvailablePluginUpdates(CancellationToken cancellationToken = default);
+        Task<IEnumerable<VersionInfo>> GetAvailablePluginUpdates(CancellationToken cancellationToken = default);
 
         /// <summary>
         /// Installs the package.
@@ -100,7 +96,7 @@ namespace MediaBrowser.Common.Updates
         /// <param name="package">The package.</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns><see cref="Task" />.</returns>
-        Task InstallPackage(PackageVersionInfo package, CancellationToken cancellationToken = default);
+        Task InstallPackage(VersionInfo package, CancellationToken cancellationToken = default);
 
         /// <summary>
         /// Uninstalls a plugin.

+ 1 - 1
MediaBrowser.Common/Updates/InstallationEventArgs.cs

@@ -8,6 +8,6 @@ namespace MediaBrowser.Common.Updates
     {
         public InstallationInfo InstallationInfo { get; set; }
 
-        public PackageVersionInfo PackageVersionInfo { get; set; }
+        public VersionInfo VersionInfo { get; set; }
     }
 }

+ 5 - 5
MediaBrowser.Model/Services/IHasRequestFilter.cs

@@ -8,17 +8,17 @@ namespace MediaBrowser.Model.Services
     {
         /// <summary>
         /// Order in which Request Filters are executed.
-        /// &lt;0 Executed before global request filters
-        /// &gt;0 Executed after global request filters
+        /// &lt;0 Executed before global request filters.
+        /// &gt;0 Executed after global request filters.
         /// </summary>
         int Priority { get; }
 
         /// <summary>
         /// The request filter is executed before the service.
         /// </summary>
-        /// <param name="req">The http request wrapper</param>
-        /// <param name="res">The http response wrapper</param>
-        /// <param name="requestDto">The request DTO</param>
+        /// <param name="req">The http request wrapper.</param>
+        /// <param name="res">The http response wrapper.</param>
+        /// <param name="requestDto">The request DTO.</param>
         void RequestFilter(IRequest req, HttpResponse res, object requestDto);
     }
 }

+ 0 - 2
MediaBrowser.Model/System/SystemInfo.cs

@@ -26,8 +26,6 @@ namespace MediaBrowser.Model.System
     /// </summary>
     public class SystemInfo : PublicSystemInfo
     {
-        public PackageVersionClass SystemUpdateLevel { get; set; }
-
         /// <summary>
         /// Gets or sets the display name of the operating system.
         /// </summary>

+ 0 - 29
MediaBrowser.Model/Updates/CheckForUpdateResult.cs

@@ -1,29 +0,0 @@
-namespace MediaBrowser.Model.Updates
-{
-    /// <summary>
-    /// Class CheckForUpdateResult.
-    /// </summary>
-    public class CheckForUpdateResult
-    {
-        /// <summary>
-        /// Gets or sets a value indicating whether this instance is update available.
-        /// </summary>
-        /// <value><c>true</c> if this instance is update available; otherwise, <c>false</c>.</value>
-        public bool IsUpdateAvailable { get; set; }
-
-        /// <summary>
-        /// Gets or sets the available version.
-        /// </summary>
-        /// <value>The available version.</value>
-        public string AvailableVersion
-        {
-            get => Package != null ? Package.versionStr : "0.0.0.1";
-            set { } // need this for the serializer
-        }
-
-        /// <summary>
-        /// Get or sets package information for an available update
-        /// </summary>
-        public PackageVersionInfo Package { get; set; }
-    }
-}

+ 3 - 15
MediaBrowser.Model/Updates/InstallationInfo.cs

@@ -8,10 +8,10 @@ namespace MediaBrowser.Model.Updates
     public class InstallationInfo
     {
         /// <summary>
-        /// Gets or sets the id.
+        /// Gets or sets the guid.
         /// </summary>
-        /// <value>The id.</value>
-        public Guid Id { get; set; }
+        /// <value>The guid.</value>
+        public string Guid { get; set; }
 
         /// <summary>
         /// Gets or sets the name.
@@ -19,22 +19,10 @@ namespace MediaBrowser.Model.Updates
         /// <value>The name.</value>
         public string Name { get; set; }
 
-        /// <summary>
-        /// Gets or sets the assembly guid.
-        /// </summary>
-        /// <value>The guid of the assembly.</value>
-        public string AssemblyGuid { get; set; }
-
         /// <summary>
         /// Gets or sets the version.
         /// </summary>
         /// <value>The version.</value>
         public string Version { get; set; }
-
-        /// <summary>
-        /// Gets or sets the update class.
-        /// </summary>
-        /// <value>The update class.</value>
-        public PackageVersionClass UpdateClass { get; set; }
     }
 }

+ 7 - 121
MediaBrowser.Model/Updates/PackageInfo.cs

@@ -8,12 +8,6 @@ namespace MediaBrowser.Model.Updates
     /// </summary>
     public class PackageInfo
     {
-        /// <summary>
-        /// The internal id of this package.
-        /// </summary>
-        /// <value>The id.</value>
-        public string id { get; set; }
-
         /// <summary>
         /// Gets or sets the name.
         /// </summary>
@@ -21,59 +15,17 @@ namespace MediaBrowser.Model.Updates
         public string name { get; set; }
 
         /// <summary>
-        /// Gets or sets the short description.
+        /// Gets or sets a long description of the plugin containing features or helpful explanations.
         /// </summary>
-        /// <value>The short description.</value>
-        public string shortDescription { get; set; }
+        /// <value>The description.</value>
+        public string description { get; set; }
 
         /// <summary>
-        /// Gets or sets the overview.
+        /// Gets or sets a short overview of what the plugin does.
         /// </summary>
         /// <value>The overview.</value>
         public string overview { get; set; }
 
-        /// <summary>
-        /// Gets or sets a value indicating whether this instance is premium.
-        /// </summary>
-        /// <value><c>true</c> if this instance is premium; otherwise, <c>false</c>.</value>
-        public bool isPremium { get; set; }
-
-        /// <summary>
-        /// Gets or sets a value indicating whether this instance is adult only content.
-        /// </summary>
-        /// <value><c>true</c> if this instance is adult; otherwise, <c>false</c>.</value>
-        public bool adult { get; set; }
-
-        /// <summary>
-        /// Gets or sets the rich desc URL.
-        /// </summary>
-        /// <value>The rich desc URL.</value>
-        public string richDescUrl { get; set; }
-
-        /// <summary>
-        /// Gets or sets the thumb image.
-        /// </summary>
-        /// <value>The thumb image.</value>
-        public string thumbImage { get; set; }
-
-        /// <summary>
-        /// Gets or sets the preview image.
-        /// </summary>
-        /// <value>The preview image.</value>
-        public string previewImage { get; set; }
-
-        /// <summary>
-        /// Gets or sets the type.
-        /// </summary>
-        /// <value>The type.</value>
-        public string type { get; set; }
-
-        /// <summary>
-        /// Gets or sets the target filename.
-        /// </summary>
-        /// <value>The target filename.</value>
-        public string targetFilename { get; set; }
-
         /// <summary>
         /// Gets or sets the owner.
         /// </summary>
@@ -87,90 +39,24 @@ namespace MediaBrowser.Model.Updates
         public string category { get; set; }
 
         /// <summary>
-        /// Gets or sets the catalog tile color.
-        /// </summary>
-        /// <value>The owner.</value>
-        public string tileColor { get; set; }
-
-        /// <summary>
-        /// Gets or sets the feature id of this package (if premium).
-        /// </summary>
-        /// <value>The feature id.</value>
-        public string featureId { get; set; }
-
-        /// <summary>
-        /// Gets or sets the registration info for this package (if premium).
-        /// </summary>
-        /// <value>The registration info.</value>
-        public string regInfo { get; set; }
-
-        /// <summary>
-        /// Gets or sets the price for this package (if premium).
-        /// </summary>
-        /// <value>The price.</value>
-        public float price { get; set; }
-
-        /// <summary>
-        /// Gets or sets the target system for this plug-in (Server, MBTheater, MBClassic).
-        /// </summary>
-        /// <value>The target system.</value>
-        public PackageTargetSystem targetSystem { get; set; }
-
-        /// <summary>
-        /// The guid of the assembly associated with this package (if a plug-in).
+        /// 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>
         public string guid { get; set; }
 
-        /// <summary>
-        /// Gets or sets the total number of ratings for this package.
-        /// </summary>
-        /// <value>The total ratings.</value>
-        public int? totalRatings { get; set; }
-
-        /// <summary>
-        /// Gets or sets the average rating for this package .
-        /// </summary>
-        /// <value>The rating.</value>
-        public float avgRating { get; set; }
-
-        /// <summary>
-        /// Gets or sets whether or not this package is registered.
-        /// </summary>
-        /// <value>True if registered.</value>
-        public bool isRegistered { get; set; }
-
-        /// <summary>
-        /// Gets or sets the expiration date for this package.
-        /// </summary>
-        /// <value>Expiration Date.</value>
-        public DateTime expDate { get; set; }
-
         /// <summary>
         /// Gets or sets the versions.
         /// </summary>
         /// <value>The versions.</value>
-        public IReadOnlyList<PackageVersionInfo> versions { get; set; }
-
-        /// <summary>
-        /// Gets or sets a value indicating whether [enable in application store].
-        /// </summary>
-        /// <value><c>true</c> if [enable in application store]; otherwise, <c>false</c>.</value>
-        public bool enableInAppStore { get; set; }
-
-        /// <summary>
-        /// Gets or sets the installs.
-        /// </summary>
-        /// <value>The installs.</value>
-        public int installs { get; set; }
+        public IReadOnlyList<VersionInfo> versions { get; set; }
 
         /// <summary>
         /// Initializes a new instance of the <see cref="PackageInfo"/> class.
         /// </summary>
         public PackageInfo()
         {
-            versions = Array.Empty<PackageVersionInfo>();
+            versions = Array.Empty<VersionInfo>();
         }
     }
 }

+ 0 - 23
MediaBrowser.Model/Updates/PackageTargetSystem.cs

@@ -1,23 +0,0 @@
-namespace MediaBrowser.Model.Updates
-{
-    /// <summary>
-    /// Enum PackageType.
-    /// </summary>
-    public enum PackageTargetSystem
-    {
-        /// <summary>
-        /// Server.
-        /// </summary>
-        Server,
-
-        /// <summary>
-        /// MB Theater.
-        /// </summary>
-        MBTheater,
-
-        /// <summary>
-        /// MB Classic.
-        /// </summary>
-        MBClassic
-    }
-}

+ 0 - 23
MediaBrowser.Model/Updates/PackageVersionClass.cs

@@ -1,23 +0,0 @@
-namespace MediaBrowser.Model.Updates
-{
-    /// <summary>
-    /// Enum PackageVersionClass.
-    /// </summary>
-    public enum PackageVersionClass
-    {
-        /// <summary>
-        /// The release.
-        /// </summary>
-        Release = 0,
-
-        /// <summary>
-        /// The beta.
-        /// </summary>
-        Beta = 1,
-
-        /// <summary>
-        /// The dev.
-        /// </summary>
-        Dev = 2
-    }
-}

+ 0 - 96
MediaBrowser.Model/Updates/PackageVersionInfo.cs

@@ -1,96 +0,0 @@
-#pragma warning disable CS1591
-
-using System;
-using System.Text.Json.Serialization;
-
-namespace MediaBrowser.Model.Updates
-{
-    /// <summary>
-    /// Class PackageVersionInfo.
-    /// </summary>
-    public class PackageVersionInfo
-    {
-        /// <summary>
-        /// Gets or sets the name.
-        /// </summary>
-        /// <value>The name.</value>
-        public string name { get; set; }
-
-        /// <summary>
-        /// Gets or sets the guid.
-        /// </summary>
-        /// <value>The guid.</value>
-        public string guid { get; set; }
-
-        /// <summary>
-        /// Gets or sets the version STR.
-        /// </summary>
-        /// <value>The version STR.</value>
-        public string versionStr { get; set; }
-
-        /// <summary>
-        /// The _version
-        /// </summary>
-        private Version _version;
-
-        /// <summary>
-        /// Gets or sets the version.
-        /// Had to make this an interpreted property since Protobuf can't handle Version
-        /// </summary>
-        /// <value>The version.</value>
-        [JsonIgnore]
-        public Version Version
-        {
-            get
-            {
-                if (_version == null)
-                {
-                    var ver = versionStr;
-                    _version = new Version(string.IsNullOrEmpty(ver) ? "0.0.0.1" : ver);
-                }
-
-                return _version;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the classification.
-        /// </summary>
-        /// <value>The classification.</value>
-        public PackageVersionClass classification { get; set; }
-
-        /// <summary>
-        /// Gets or sets the description.
-        /// </summary>
-        /// <value>The description.</value>
-        public string description { get; set; }
-
-        /// <summary>
-        /// Gets or sets the required version STR.
-        /// </summary>
-        /// <value>The required version STR.</value>
-        public string requiredVersionStr { get; set; }
-
-        /// <summary>
-        /// Gets or sets the source URL.
-        /// </summary>
-        /// <value>The source URL.</value>
-        public string sourceUrl { get; set; }
-
-        /// <summary>
-        /// Gets or sets the source URL.
-        /// </summary>
-        /// <value>The source URL.</value>
-        public string checksum { get; set; }
-
-        /// <summary>
-        /// Gets or sets the target filename.
-        /// </summary>
-        /// <value>The target filename.</value>
-        public string targetFilename { get; set; }
-
-        public string infoUrl { get; set; }
-
-        public string runtimes { get; set; }
-    }
-}

+ 58 - 0
MediaBrowser.Model/Updates/VersionInfo.cs

@@ -0,0 +1,58 @@
+using System;
+
+namespace MediaBrowser.Model.Updates
+{
+    /// <summary>
+    /// Class PackageVersionInfo.
+    /// </summary>
+    public class VersionInfo
+    {
+        /// <summary>
+        /// Gets or sets the name.
+        /// </summary>
+        /// <value>The name.</value>
+        public string name { get; set; }
+
+        /// <summary>
+        /// Gets or sets the guid.
+        /// </summary>
+        /// <value>The guid.</value>
+        public string guid { get; set; }
+
+        /// <summary>
+        /// Gets or sets the version.
+        /// </summary>
+        /// <value>The version.</value>
+        public Version version { get; set; }
+
+        /// <summary>
+        /// Gets or sets the changelog for this version.
+        /// </summary>
+        /// <value>The changelog.</value>
+        public string changelog { get; set; }
+
+        /// <summary>
+        /// Gets or sets the ABI that this version was built against.
+        /// </summary>
+        /// <value>The target ABI version.</value>
+        public string targetAbi { get; set; }
+
+        /// <summary>
+        /// Gets or sets the source URL.
+        /// </summary>
+        /// <value>The source URL.</value>
+        public string sourceUrl { get; set; }
+
+        /// <summary>
+        /// Gets or sets a checksum for the binary.
+        /// </summary>
+        /// <value>The checksum.</value>
+        public string checksum { get; set; }
+
+        /// <summary>
+        /// Gets or sets the target filename for the downloaded binary.
+        /// </summary>
+        /// <value>The target filename.</value>
+        public string filename { get; set; }
+    }
+}