aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.WebDashboard/ApiClient.js69
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj2
-rw-r--r--MediaBrowser.WebDashboard/packages.config2
3 files changed, 68 insertions, 5 deletions
diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js
index 1d2d18006..ebd4f8a27 100644
--- a/MediaBrowser.WebDashboard/ApiClient.js
+++ b/MediaBrowser.WebDashboard/ApiClient.js
@@ -1571,7 +1571,70 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
dataType: "json"
});
};
- };
+
+ /**
+ * Reports progress viewing an item
+ * @param {String} userId
+ * @param {String} itemId
+ */
+ self.reportPlaybackProgress = function (userId, itemId, positionTicks) {
+
+ if (!userId) {
+ throw new Error("null userId");
+ }
+
+ if (!itemId) {
+ throw new Error("null itemId");
+ }
+
+ var params = {
+ };
+
+ if (positionTicks) {
+ params.positionTicks = positionTicks;
+ }
+
+ var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId + "/Progress", params);
+
+ return self.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json"
+ });
+ };
+
+
+ /**
+ * Reports a user has stopped playing an item
+ * @param {String} userId
+ * @param {String} itemId
+ */
+ self.reportPlaybackStopped = function (userId, itemId, positionTicks) {
+
+ if (!userId) {
+ throw new Error("null userId");
+ }
+
+ if (!itemId) {
+ throw new Error("null itemId");
+ }
+
+ var params = {
+ };
+
+ if (positionTicks) {
+ params.positionTicks = positionTicks;
+ }
+
+ var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId, params);
+
+ return self.ajax({
+ type: "DELETE",
+ url: url,
+ dataType: "json"
+ });
+ };
+ }
}(jQuery, navigator, JSON, window.WebSocket, setTimeout);
@@ -1669,7 +1732,7 @@ MediaBrowser.SHA1 = function (msg) {
var word_array = new Array();
for (i = 0; i < msg_len - 3; i += 4) {
j = msg.charCodeAt(i) << 24 | msg.charCodeAt(i + 1) << 16 |
- msg.charCodeAt(i + 2) << 8 | msg.charCodeAt(i + 3);
+ msg.charCodeAt(i + 2) << 8 | msg.charCodeAt(i + 3);
word_array.push(j);
}
@@ -1756,4 +1819,4 @@ MediaBrowser.SHA1 = function (msg) {
var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);
return temp.toLowerCase();
-}; \ No newline at end of file
+}
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 843fd7a72..06ff4ea78 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -83,6 +83,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="ApiClient.js" />
<Content Include="dashboard-ui\index.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -649,7 +650,6 @@
<Content Include="dashboard-ui\about.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <EmbeddedResource Include="ApiClient.js" />
<Content Include="dashboard-ui\css\images\stars.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config
index 4e1ee3bff..e5ea40c77 100644
--- a/MediaBrowser.WebDashboard/packages.config
+++ b/MediaBrowser.WebDashboard/packages.config
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="MediaBrowser.ApiClient.Javascript" version="3.0.50" targetFramework="net45" />
+ <package id="MediaBrowser.ApiClient.Javascript" version="3.0.58" targetFramework="net45" />
<package id="ServiceStack.Common" version="3.9.42" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.42" targetFramework="net45" />
</packages> \ No newline at end of file