From b7b28ffd31892dac13004199766262126d2785c5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 12 Mar 2015 22:47:52 -0400 Subject: [PATCH] add reg method --- MediaBrowser.Api/PluginService.cs | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index f5c8935f80..4bd78f1f55 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/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 + { + [ApiMember(Name = "Name", Description = "Feature Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + public string Name { get; set; } + } + /// /// Class PluginsService /// @@ -144,13 +153,26 @@ namespace MediaBrowser.Api /// /// The request. /// System.Object. - public object Get(GetRegistrationStatus request) + public async Task 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 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 + }); + } + /// /// Gets the specified request. /// @@ -178,7 +200,7 @@ namespace MediaBrowser.Api } catch { - + } return ToOptimizedSerializedResultUsingCache(result);