mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Latest reviews in plug-in detail page
This commit is contained in:
parent
4dc0a1e44a
commit
dbd0145694
@ -4,6 +4,8 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Common.Constants;
|
using MediaBrowser.Common.Constants;
|
||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Model.Serialization;
|
||||||
using ServiceStack.ServiceHost;
|
using ServiceStack.ServiceHost;
|
||||||
|
|
||||||
namespace MediaBrowser.Api
|
namespace MediaBrowser.Api
|
||||||
@ -51,16 +53,89 @@ namespace MediaBrowser.Api
|
|||||||
public string Review { get; set; }
|
public string Review { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class InstallPackage
|
||||||
|
/// </summary>
|
||||||
|
[Route("/PackageReviews/{Id}", "GET")]
|
||||||
|
[Api(("Retrieve reviews for a package"))]
|
||||||
|
public class ReviewRequest : IReturn<List<PackageReviewInfo>>
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Id.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The Id.</value>
|
||||||
|
[ApiMember(Name = "Id", Description = "Package Id", IsRequired = true, DataType = "int", ParameterType = "path", Verb = "GET")]
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the max rating.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The max rating.</value>
|
||||||
|
[ApiMember(Name = "MaxRating", Description = "Retrieve only reviews less than or equal to this", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||||
|
public int MaxRating { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the min rating.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The max rating.</value>
|
||||||
|
[ApiMember(Name = "MinRating", Description = "Retrieve only reviews greator than or equal to this", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||||
|
public int MinRating { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Only retrieve reviews with at least a short review.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>True if should only get reviews with a title.</value>
|
||||||
|
[ApiMember(Name = "ForceTitle", Description = "Whether or not to restrict results to those with a title", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
|
||||||
|
public bool ForceTitle { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the limit for the query.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The max rating.</value>
|
||||||
|
[ApiMember(Name = "Limit", Description = "Limit the result to this many reviews (ordered by latest)", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
|
||||||
|
public int Limit { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public class PackageReviewService : BaseApiService
|
public class PackageReviewService : BaseApiService
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly INetworkManager _netManager;
|
private readonly INetworkManager _netManager;
|
||||||
|
private readonly IJsonSerializer _serializer;
|
||||||
|
|
||||||
public PackageReviewService(IHttpClient client, INetworkManager net)
|
public PackageReviewService(IHttpClient client, INetworkManager net, IJsonSerializer serializer)
|
||||||
{
|
{
|
||||||
_httpClient = client;
|
_httpClient = client;
|
||||||
_netManager = net;
|
_netManager = net;
|
||||||
|
_serializer = serializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Get(ReviewRequest request)
|
||||||
|
{
|
||||||
|
var parms = "?id=" + request.Id;
|
||||||
|
|
||||||
|
if (request.MaxRating > 0)
|
||||||
|
{
|
||||||
|
parms += "&max=" + request.MaxRating;
|
||||||
|
}
|
||||||
|
if (request.MinRating > 0)
|
||||||
|
{
|
||||||
|
parms += "&min=" + request.MinRating;
|
||||||
|
}
|
||||||
|
if (request.MinRating > 0)
|
||||||
|
{
|
||||||
|
parms += "&limit=" + request.Limit;
|
||||||
|
}
|
||||||
|
if (request.ForceTitle)
|
||||||
|
{
|
||||||
|
parms += "&title=true";
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = _httpClient.Get(Constants.MbAdminUrl + "/service/packageReview/retrieve"+parms, CancellationToken.None).Result;
|
||||||
|
|
||||||
|
var reviews = _serializer.DeserializeFromStream<List<PackageReviewInfo>>(result);
|
||||||
|
|
||||||
|
return ToOptimizedResult(reviews);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Post(CreateReviewRequest request)
|
public void Post(CreateReviewRequest request)
|
||||||
|
@ -33,5 +33,10 @@ namespace MediaBrowser.Model.Entities
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string review { get; set; }
|
public string review { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Time of review
|
||||||
|
/// </summary>
|
||||||
|
public DateTime timestamp { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,20 +53,15 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
|
|
||||||
if ($.browser.chrome) {
|
if ($.browser.chrome) {
|
||||||
name = "Chrome";
|
name = "Chrome";
|
||||||
}
|
} else if ($.browser.safari) {
|
||||||
else if ($.browser.safari) {
|
|
||||||
name = "Safari";
|
name = "Safari";
|
||||||
}
|
} else if ($.browser.webkit) {
|
||||||
else if ($.browser.webkit) {
|
|
||||||
name = "WebKit";
|
name = "WebKit";
|
||||||
}
|
} else if ($.browser.msie) {
|
||||||
else if ($.browser.msie) {
|
|
||||||
name = "Internet Explorer";
|
name = "Internet Explorer";
|
||||||
}
|
} else if ($.browser.opera) {
|
||||||
else if ($.browser.opera) {
|
|
||||||
name = "Opera";
|
name = "Opera";
|
||||||
}
|
} else if ($.browser.firefox || $.browser.mozilla) {
|
||||||
else if ($.browser.firefox || $.browser.mozilla) {
|
|
||||||
name = "Firefox";
|
name = "Firefox";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,18 +69,15 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
if ($.browser.version) {
|
if ($.browser.version) {
|
||||||
name += " " + $.browser.version;
|
name += " " + $.browser.version;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
name = "Web Browser";
|
name = "Web Browser";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($.browser.ipad) {
|
if ($.browser.ipad) {
|
||||||
name += " Ipad";
|
name += " Ipad";
|
||||||
}
|
} else if ($.browser.iphone) {
|
||||||
else if ($.browser.iphone) {
|
|
||||||
name += " Iphone";
|
name += " Iphone";
|
||||||
}
|
} else if ($.browser.android) {
|
||||||
else if ($.browser.android) {
|
|
||||||
name += " Android";
|
name += " Android";
|
||||||
}
|
}
|
||||||
return name;
|
return name;
|
||||||
@ -313,28 +305,22 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
if (options.artist) {
|
if (options.artist) {
|
||||||
urlPrefix = "Artists/" + self.encodeName(options.artist);
|
urlPrefix = "Artists/" + self.encodeName(options.artist);
|
||||||
delete options.artist;
|
delete options.artist;
|
||||||
}
|
} else if (options.person) {
|
||||||
else if (options.person) {
|
|
||||||
urlPrefix = "Persons/" + self.encodeName(options.person);
|
urlPrefix = "Persons/" + self.encodeName(options.person);
|
||||||
delete options.person;
|
delete options.person;
|
||||||
}
|
} else if (options.genre) {
|
||||||
else if (options.genre) {
|
|
||||||
urlPrefix = "Genres/" + self.encodeName(options.genre);
|
urlPrefix = "Genres/" + self.encodeName(options.genre);
|
||||||
delete options.genre;
|
delete options.genre;
|
||||||
}
|
} else if (options.musicGenre) {
|
||||||
else if (options.musicGenre) {
|
|
||||||
urlPrefix = "MusicGenres/" + self.encodeName(options.musicGenre);
|
urlPrefix = "MusicGenres/" + self.encodeName(options.musicGenre);
|
||||||
delete options.musicGenre;
|
delete options.musicGenre;
|
||||||
}
|
} else if (options.gameGenre) {
|
||||||
else if (options.gameGenre) {
|
|
||||||
urlPrefix = "GameGenres/" + self.encodeName(options.gameGenre);
|
urlPrefix = "GameGenres/" + self.encodeName(options.gameGenre);
|
||||||
delete options.gameGenre;
|
delete options.gameGenre;
|
||||||
}
|
} else if (options.studio) {
|
||||||
else if (options.studio) {
|
|
||||||
urlPrefix = "Studios/" + self.encodeName(options.studio);
|
urlPrefix = "Studios/" + self.encodeName(options.studio);
|
||||||
delete options.studio;
|
delete options.studio;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
urlPrefix = "Items/" + options.itemId;
|
urlPrefix = "Items/" + options.itemId;
|
||||||
delete options.itemId;
|
delete options.itemId;
|
||||||
}
|
}
|
||||||
@ -624,10 +610,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Items/" + itemId + "/Refresh", {
|
var url = self.getUrl("Items/" + itemId + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false,
|
forced: force || false,
|
||||||
recursive: recursive || false
|
recursive: recursive || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -643,9 +627,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Artists/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("Artists/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -661,9 +643,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Genres/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("Genres/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -679,9 +659,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("MusicGenres/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("MusicGenres/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -697,9 +675,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("GameGenres/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("GameGenres/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -715,9 +691,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Persons/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("Persons/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -733,9 +707,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Studios/" + self.encodeName(name) + "/Refresh", {
|
var url = self.getUrl("Studios/" + self.encodeName(name) + "/Refresh", {
|
||||||
|
|
||||||
forced: force || false
|
forced: force || false
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return self.ajax({
|
return self.ajax({
|
||||||
@ -1122,7 +1094,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
url += "/" + virtualFolderName + "/Paths";
|
url += "/" + virtualFolderName + "/Paths";
|
||||||
|
|
||||||
url = self.getUrl(url, {
|
url = self.getUrl(url, {
|
||||||
|
|
||||||
refreshLibrary: refreshLibrary ? true : false,
|
refreshLibrary: refreshLibrary ? true : false,
|
||||||
path: mediaPath
|
path: mediaPath
|
||||||
});
|
});
|
||||||
@ -1152,7 +1123,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
url += "/" + virtualFolderName + "/Paths";
|
url += "/" + virtualFolderName + "/Paths";
|
||||||
|
|
||||||
url = self.getUrl(url, {
|
url = self.getUrl(url, {
|
||||||
|
|
||||||
refreshLibrary: refreshLibrary ? true : false,
|
refreshLibrary: refreshLibrary ? true : false,
|
||||||
path: mediaPath
|
path: mediaPath
|
||||||
});
|
});
|
||||||
@ -1222,23 +1192,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
|
|
||||||
if (itemType == "Artist") {
|
if (itemType == "Artist") {
|
||||||
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Genre") {
|
||||||
else if (itemType == "Genre") {
|
|
||||||
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "GameGenre") {
|
||||||
else if (itemType == "GameGenre") {
|
|
||||||
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "MusicGenre") {
|
||||||
else if (itemType == "MusicGenre") {
|
|
||||||
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Person") {
|
||||||
else if (itemType == "Person") {
|
|
||||||
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Studio") {
|
||||||
else if (itemType == "Studio") {
|
|
||||||
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
url = self.getUrl("Items/" + itemId + "/Images");
|
url = self.getUrl("Items/" + itemId + "/Images");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1284,23 +1248,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
|
|
||||||
if (itemType == "Artist") {
|
if (itemType == "Artist") {
|
||||||
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else if (itemType == "Genre") {
|
||||||
else if (itemType == "Genre") {
|
|
||||||
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else if (itemType == "GameGenre") {
|
||||||
else if (itemType == "GameGenre") {
|
|
||||||
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else if (itemType == "MusicGenre") {
|
||||||
else if (itemType == "MusicGenre") {
|
|
||||||
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else if (itemType == "Person") {
|
||||||
else if (itemType == "Person") {
|
|
||||||
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else if (itemType == "Studio") {
|
||||||
else if (itemType == "Studio") {
|
|
||||||
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
url = self.getUrl("Items/" + itemId + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
url = self.getUrl("Items/" + itemId + "/Images/" + imageType + "/" + imageIndex + "/Index", options);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1320,23 +1278,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
|
|
||||||
if (itemType == "Artist") {
|
if (itemType == "Artist") {
|
||||||
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Genre") {
|
||||||
else if (itemType == "Genre") {
|
|
||||||
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "GameGenre") {
|
||||||
else if (itemType == "GameGenre") {
|
|
||||||
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "MusicGenre") {
|
||||||
else if (itemType == "MusicGenre") {
|
|
||||||
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Person") {
|
||||||
else if (itemType == "Person") {
|
|
||||||
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Studio") {
|
||||||
else if (itemType == "Studio") {
|
|
||||||
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
url = self.getUrl("Items/" + itemId + "/Images");
|
url = self.getUrl("Items/" + itemId + "/Images");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1459,23 +1411,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
|
|
||||||
if (itemType == "Artist") {
|
if (itemType == "Artist") {
|
||||||
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Genre") {
|
||||||
else if (itemType == "Genre") {
|
|
||||||
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "GameGenre") {
|
||||||
else if (itemType == "GameGenre") {
|
|
||||||
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("GameGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "MusicGenre") {
|
||||||
else if (itemType == "MusicGenre") {
|
|
||||||
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("MusicGenres/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Person") {
|
||||||
else if (itemType == "Person") {
|
|
||||||
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Persons/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else if (itemType == "Studio") {
|
||||||
else if (itemType == "Studio") {
|
|
||||||
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
url = self.getUrl("Studios/" + self.encodeName(itemName) + "/Images");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
url = self.getUrl("Items/" + itemId + "/Images");
|
url = self.getUrl("Items/" + itemId + "/Images");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2823,6 +2769,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
};
|
};
|
||||||
|
|
||||||
self.getDateParamValue = function(date) {
|
self.getDateParamValue = function(date) {
|
||||||
|
|
||||||
function formatDigit(i) {
|
function formatDigit(i) {
|
||||||
return i < 10 ? "0" + i : i;
|
return i < 10 ? "0" + i : i;
|
||||||
}
|
}
|
||||||
@ -3385,7 +3332,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId, {
|
var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId, {
|
||||||
|
|
||||||
CanSeek: canSeek,
|
CanSeek: canSeek,
|
||||||
QueueableMediaTypes: queueableMediaTypes
|
QueueableMediaTypes: queueableMediaTypes
|
||||||
});
|
});
|
||||||
@ -3466,6 +3412,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
}
|
}
|
||||||
|
|
||||||
var params = {
|
var params = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (positionTicks) {
|
if (positionTicks) {
|
||||||
@ -3579,8 +3526,40 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
|||||||
url: url,
|
url: url,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.getPackageReviews = function (packageId, minRating, maxRating, limit, forceTitle) {
|
||||||
|
|
||||||
|
if (!packageId) {
|
||||||
|
throw new Error("null packageId");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var options = {};
|
||||||
|
|
||||||
|
if (minRating) {
|
||||||
|
options.MinRating = minRating;
|
||||||
|
}
|
||||||
|
if (maxRating) {
|
||||||
|
options.MaxRating = maxRating;
|
||||||
|
}
|
||||||
|
if (limit) {
|
||||||
|
options.Limit = limit;
|
||||||
|
}
|
||||||
|
if (forceTitle) {
|
||||||
|
options.ForceTitle = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var url = self.getUrl("PackageReviews/" + packageId, options);
|
||||||
|
|
||||||
|
return self.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: url,
|
||||||
|
dataType: "json"
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
}(jQuery, navigator, window.JSON, window.WebSocket, setTimeout, window);
|
}(jQuery, navigator, window.JSON, window.WebSocket, setTimeout, window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user