From 7404114fee8a06983261bb7a8e361c00ed8b3d7a Mon Sep 17 00:00:00 2001 From: Eric Reed Date: Sat, 26 Sep 2015 16:27:13 -0400 Subject: Add store registration endpoint (pointing to test) --- .../Security/PluginSecurityManager.cs | 39 ++++++++++++++++++++++ .../Security/RegRecord.cs | 1 + 2 files changed, 40 insertions(+) (limited to 'MediaBrowser.Common.Implementations') diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs index ec3613298..4880b326e 100644 --- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs +++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs @@ -18,6 +18,7 @@ namespace MediaBrowser.Common.Implementations.Security public class PluginSecurityManager : ISecurityManager { private const string MBValidateUrl = MbAdmin.HttpsUrl + "service/registration/validate"; + private const string AppstoreRegUrl = /*MbAdmin.HttpsUrl*/ "https://wwwm.mb3admin.com/test/admin/" + "service/appstore/register"; /// /// The _is MB supporter @@ -185,6 +186,44 @@ namespace MediaBrowser.Common.Implementations.Security } } + public async Task RegisterAppStoreSale(string store, string application, string product, + string type, string storeId, string storeToken, string email, string amt) + { + var data = new Dictionary() + { + {"store", store}, + {"application", application}, + {"product", product}, + {"type", type}, + {"storeId", storeId}, + {"token", storeToken}, + {"email", email}, + {"amt", amt} + }; + + try + { + using (var json = await _httpClient.Post(AppstoreRegUrl, data, CancellationToken.None).ConfigureAwait(false)) + { + var reg = _jsonSerializer.DeserializeFromStream(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 GetRegistrationStatusInternal(string feature, string mb2Equivalent = null, string version = null) diff --git a/MediaBrowser.Common.Implementations/Security/RegRecord.cs b/MediaBrowser.Common.Implementations/Security/RegRecord.cs index f4e4337bf..ece70b772 100644 --- a/MediaBrowser.Common.Implementations/Security/RegRecord.cs +++ b/MediaBrowser.Common.Implementations/Security/RegRecord.cs @@ -7,5 +7,6 @@ namespace MediaBrowser.Common.Implementations.Security public string featId { get; set; } public bool registered { get; set; } public DateTime expDate { get; set; } + public string key { get; set; } } } \ No newline at end of file -- cgit v1.2.3