aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard/ApiClient.js
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.WebDashboard/ApiClient.js')
-rw-r--r--MediaBrowser.WebDashboard/ApiClient.js65
1 files changed, 58 insertions, 7 deletions
diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js
index 360639665..25cbc9877 100644
--- a/MediaBrowser.WebDashboard/ApiClient.js
+++ b/MediaBrowser.WebDashboard/ApiClient.js
@@ -305,17 +305,52 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
url: url
});
};
+
+ function getRemoteImagePrefix(options) {
+
+ var urlPrefix;
- self.getAvailableRemoteImages = function (itemId, imageType) {
-
- if (!itemId) {
- throw new Error("null itemId");
+ if (options.artist) {
+ urlPrefix = "Artists/" + encodeName(options.artist);
+ delete options.artist;
}
- if (!imageType) {
- throw new Error("null imageType");
+ else if (options.person) {
+ urlPrefix = "Persons/" + encodeName(options.person);
+ delete options.person;
+ }
+ else if (options.genre) {
+ urlPrefix = "Genres/" + encodeName(options.genre);
+ delete options.genre;
+ }
+ else if (options.musicGenre) {
+ urlPrefix = "MusicGenres/" + encodeName(options.musicGenre);
+ delete options.musicGenre;
+ }
+ else if (options.gameGenre) {
+ urlPrefix = "GameGenres/" + encodeName(options.gameGenre);
+ delete options.gameGenre;
+ }
+ else if (options.studio) {
+ urlPrefix = "Studios/" + encodeName(options.studio);
+ delete options.studio;
+ }
+ else {
+ urlPrefix = "Items/" + options.itemId;
+ delete options.itemId;
+ }
+
+ return urlPrefix;
+ }
+
+ self.getAvailableRemoteImages = function (options) {
+
+ if (!options) {
+ throw new Error("null options");
}
- var url = self.getUrl("Items/" + itemId + "/RemoteImages/" + imageType);
+ var urlPrefix = getRemoteImagePrefix(options);
+
+ var url = self.getUrl(urlPrefix + "/RemoteImages", options);
return self.ajax({
type: "GET",
@@ -324,6 +359,22 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
});
};
+ self.downloadRemoteImage = function (options) {
+
+ if (!options) {
+ throw new Error("null options");
+ }
+
+ var urlPrefix = getRemoteImagePrefix(options);
+
+ var url = self.getUrl(urlPrefix + "/RemoteImages/Download", options);
+
+ return self.ajax({
+ type: "POST",
+ url: url
+ });
+ };
+
/**
* Gets the current server status
*/