diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index fe361a868..420b75d93 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -1828,6 +1828,72 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { }); }; + /** + Gets a variety of item counts that a person appears in + */ + self.getPersonItemCounts = function (userId, name) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/{UserId}/Persons/" + encodeName(name) + "/Counts"); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + + /** + Gets a variety of item counts that a genre appears in + */ + self.getGenreItemCounts = function (userId, name) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/{UserId}/Genres/" + encodeName(name) + "/Counts"); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + + /** + Gets a variety of item counts that a studio appears in + */ + self.getStudiosItemCounts = function (userId, name) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/{UserId}/Studios/" + encodeName(name) + "/Counts"); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + /** * Clears a user's personal rating for an item * @param {String} userId diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index edc26a238..a4c910f73 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file