Merge branch 'dev' of https://github.com/MediaBrowser/Emby into dev
This commit is contained in:
commit
047a228f14
|
@ -118,30 +118,6 @@ namespace MediaBrowser.Api
|
||||||
public string Name { get; set; }
|
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>
|
/// <summary>
|
||||||
/// Class PluginsService
|
/// Class PluginsService
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -289,12 +265,6 @@ namespace MediaBrowser.Api
|
||||||
return ToOptimizedSerializedResultUsingCache(result);
|
return ToOptimizedSerializedResultUsingCache(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
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>
|
/// <summary>
|
||||||
/// Posts the specified request.
|
/// Posts the specified request.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -18,7 +18,6 @@ namespace MediaBrowser.Common.Implementations.Security
|
||||||
public class PluginSecurityManager : ISecurityManager
|
public class PluginSecurityManager : ISecurityManager
|
||||||
{
|
{
|
||||||
private const string MBValidateUrl = MbAdmin.HttpsUrl + "service/registration/validate";
|
private const string MBValidateUrl = MbAdmin.HttpsUrl + "service/registration/validate";
|
||||||
private const string AppstoreRegUrl = /*MbAdmin.HttpsUrl*/ "http://mb3admin.com/test/admin/" + "service/appstore/register";
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The _is MB supporter
|
/// The _is MB supporter
|
||||||
|
@ -186,52 +185,6 @@ namespace MediaBrowser.Common.Implementations.Security
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Boolean> RegisterAppStoreSale(string store, string application, string product, string feature,
|
|
||||||
string type, string storeId, string storeToken, string email, string amt)
|
|
||||||
{
|
|
||||||
var data = new Dictionary<string, string>()
|
|
||||||
{
|
|
||||||
{"store", store},
|
|
||||||
{"application", application},
|
|
||||||
{"product", product},
|
|
||||||
{"feature", feature},
|
|
||||||
{"type", type},
|
|
||||||
{"storeId", storeId},
|
|
||||||
{"token", storeToken},
|
|
||||||
{"email", email},
|
|
||||||
{"amt", amt}
|
|
||||||
};
|
|
||||||
|
|
||||||
var options = new HttpRequestOptions()
|
|
||||||
{
|
|
||||||
Url = AppstoreRegUrl,
|
|
||||||
CancellationToken = CancellationToken.None
|
|
||||||
};
|
|
||||||
options.RequestHeaders.Add("X-Emby-Token", /*_appHost.SystemId*/ "08606E86D043");
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
using (var json = await _httpClient.Post(options, data).ConfigureAwait(false))
|
|
||||||
{
|
|
||||||
var reg = _jsonSerializer.DeserializeFromStream<RegRecord>(json);
|
|
||||||
if (!String.IsNullOrEmpty(reg.key))
|
|
||||||
{
|
|
||||||
SupporterKey = reg.key;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
_logger.ErrorException("Error registering appstore purchase {0}", e, _jsonSerializer.SerializeToString(data));
|
|
||||||
//TODO - really need to write this to a file so we can re-try it automatically
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task<MBRegistrationRecord> GetRegistrationStatusInternal(string feature,
|
private async Task<MBRegistrationRecord> GetRegistrationStatusInternal(string feature,
|
||||||
string mb2Equivalent = null,
|
string mb2Equivalent = null,
|
||||||
string version = null)
|
string version = null)
|
||||||
|
|
|
@ -7,6 +7,5 @@ namespace MediaBrowser.Common.Implementations.Security
|
||||||
public string featId { get; set; }
|
public string featId { get; set; }
|
||||||
public bool registered { get; set; }
|
public bool registered { get; set; }
|
||||||
public DateTime expDate { get; set; }
|
public DateTime expDate { get; set; }
|
||||||
public string key { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,3 @@
|
||||||
using System;
|
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
@ -41,13 +40,6 @@ namespace MediaBrowser.Common.Security
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task LoadAllRegistrationInfo();
|
Task LoadAllRegistrationInfo();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Register an appstore sale
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>true if successful</returns>
|
|
||||||
Task<Boolean> RegisterAppStoreSale(string store, string application, string product, string feature,
|
|
||||||
string type, string storeId, string storeToken, string email, string amt);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the supporter information.
|
/// Gets the supporter information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user