From b3cb8fda22337e22d6d4ee45d5ec6e9cf69be7fa Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 12 Apr 2013 20:42:51 -0400 Subject: add ability to mark studios, genres and people as favorites --- MediaBrowser.WebDashboard/ApiClient.js | 83 +++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.WebDashboard/ApiClient.js') diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index be4267d3c..65012f94d 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -1671,7 +1671,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { }; /** - * Updates a user's favorite status for an item and returns the updated UserItemData object. + * Updates a user's favorite status for an item. * @param {String} userId * @param {String} itemId * @param {Boolean} isFavorite @@ -1723,6 +1723,87 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { }); }; + /** + * Updates a user's favorite status for a person. + * @param {String} userId + * @param {String} name + * @param {Boolean} isFavorite + */ + self.updateFavoritePersonStatus = function (userId, name, isFavorite) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/" + userId + "/FavoritePersons/" + name); + + var method = isFavorite ? "POST" : "DELETE"; + + return self.ajax({ + type: method, + url: url, + dataType: "json" + }); + }; + + /** + * Updates a user's favorite status for a genre. + * @param {String} userId + * @param {String} name + * @param {Boolean} isFavorite + */ + self.updateFavoriteGenreStatus = function (userId, name, isFavorite) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/" + userId + "/FavoriteGenre/" + name); + + var method = isFavorite ? "POST" : "DELETE"; + + return self.ajax({ + type: method, + url: url, + dataType: "json" + }); + }; + + /** + * Updates a user's favorite status for a studio. + * @param {String} userId + * @param {String} name + * @param {Boolean} isFavorite + */ + self.updateFavoriteStudioStatus = function (userId, name, isFavorite) { + + if (!userId) { + throw new Error("null userId"); + } + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/" + userId + "/FavoriteStudios/" + name); + + var method = isFavorite ? "POST" : "DELETE"; + + return self.ajax({ + type: method, + url: url, + dataType: "json" + }); + }; + /** * Clears a user's personal rating for an item * @param {String} userId -- cgit v1.2.3