瀏覽代碼

add reg method

Luke Pulverenti 10 年之前
父節點
當前提交
b7b28ffd31
共有 1 個文件被更改,包括 25 次插入3 次删除
  1. 25 3
      MediaBrowser.Api/PluginService.cs

+ 25 - 3
MediaBrowser.Api/PluginService.cs

@@ -5,6 +5,7 @@ using MediaBrowser.Common.Updates;
 using MediaBrowser.Controller.Net;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Plugins;
+using MediaBrowser.Model.Registration;
 using MediaBrowser.Model.Serialization;
 using ServiceStack;
 using ServiceStack.Web;
@@ -106,6 +107,14 @@ namespace MediaBrowser.Api
         public string Mb2Equivalent { get; set; }
     }
 
+    [Route("/Registrations/{Name}", "GET", Summary = "Gets registration status for a feature")]
+    [Authenticated]
+    public class GetRegistration : IReturn<RegistrationInfo>
+    {
+        [ApiMember(Name = "Name", Description = "Feature Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
+        public string Name { get; set; }
+    }
+
     /// <summary>
     /// Class PluginsService
     /// </summary>
@@ -144,13 +153,26 @@ namespace MediaBrowser.Api
         /// </summary>
         /// <param name="request">The request.</param>
         /// <returns>System.Object.</returns>
-        public object Get(GetRegistrationStatus request)
+        public async Task<object> Get(GetRegistrationStatus request)
         {
-            var result = _securityManager.GetRegistrationStatus(request.Name, request.Mb2Equivalent).Result;
+            var result = await _securityManager.GetRegistrationStatus(request.Name, request.Mb2Equivalent).ConfigureAwait(false);
 
             return ToOptimizedResult(result);
         }
 
+        public async Task<object> Get(GetRegistration request)
+        {
+            var result = await _securityManager.GetRegistrationStatus(request.Name).ConfigureAwait(false);
+
+            return ToOptimizedResult(new RegistrationInfo
+            {
+                ExpirationDate = result.ExpirationDate,
+                IsRegistered = result.IsRegistered,
+                IsTrial = result.TrialVersion,
+                Name = request.Name
+            });
+        }
+
         /// <summary>
         /// Gets the specified request.
         /// </summary>
@@ -178,7 +200,7 @@ namespace MediaBrowser.Api
             }
             catch
             {
-                
+
             }
 
             return ToOptimizedSerializedResultUsingCache(result);