diff options
Diffstat (limited to 'MediaBrowser.Api/PluginService.cs')
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index eb49914eb..c1d29681c 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -118,6 +118,30 @@ namespace MediaBrowser.Api public string Name { get; set; } } + [Route("/Appstore/Register", "POST", Summary = "Registers an appstore sale")] + [Authenticated] + public class RegisterAppstoreSale + { + [ApiMember(Name = "Store", Description = "Store Name", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Store { get; set; } + [ApiMember(Name = "Application", Description = "Application id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Application { get; set; } + [ApiMember(Name = "Product", Description = "Product id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Product { get; set; } + [ApiMember(Name = "Type", Description = "Type of product (Product or Subscription)", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Type { get; set; } + [ApiMember(Name = "StoreId", Description = "Store User Id (if needed)", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string StoreId { get; set; } + [ApiMember(Name = "StoreToken", Description = "Unique ID for this purchase in the store", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string StoreToken { get; set; } + [ApiMember(Name = "Feature", Description = "Emby Feature Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Feature { get; set; } + [ApiMember(Name = "Email", Description = "Email address for purchase", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Email { get; set; } + [ApiMember(Name = "Amount", Description = "String representation of price (can have currency sign)", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string Amount { get; set; } + } + /// <summary> /// Class PluginsService /// </summary> @@ -266,6 +290,17 @@ namespace MediaBrowser.Api } /// <summary> + /// Post app store sale + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + public async Task Post(RegisterAppstoreSale request) + { + var success = await _securityManager.RegisterAppStoreSale(request.Store, request.Application, request.Product, request.Feature, request.Type, request.StoreId, request.StoreToken, request.Email, request.Amount); + if (!success) throw new ApplicationException("Error registering store sale"); + } + + /// <summary> /// Posts the specified request. /// </summary> /// <param name="request">The request.</param> |
