aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations
diff options
context:
space:
mode:
authorEric Reed <ebr@mediabrowser3.com>2015-09-26 16:27:13 -0400
committerEric Reed <ebr@mediabrowser3.com>2015-09-26 16:27:13 -0400
commit7404114fee8a06983261bb7a8e361c00ed8b3d7a (patch)
treeee686aef6b3f4b2c50ebdec29607e92d183e7c6a /MediaBrowser.Common.Implementations
parentebc95ffb9af1d8fabe94c2686af8e816018e34ef (diff)
Add store registration endpoint (pointing to test)
Diffstat (limited to 'MediaBrowser.Common.Implementations')
-rw-r--r--MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs39
-rw-r--r--MediaBrowser.Common.Implementations/Security/RegRecord.cs1
2 files changed, 40 insertions, 0 deletions
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";
/// <summary>
/// The _is MB supporter
@@ -185,6 +186,44 @@ namespace MediaBrowser.Common.Implementations.Security
}
}
+ public async Task<Boolean> RegisterAppStoreSale(string store, string application, string product,
+ string type, string storeId, string storeToken, string email, string amt)
+ {
+ var data = new Dictionary<string, string>()
+ {
+ {"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<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,
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