Convert image type string to enum.
This commit is contained in:
parent
10d48b0623
commit
27e753ddb4
|
@ -9,6 +9,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -99,7 +100,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
@ -308,7 +309,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -100,7 +101,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Playlists;
|
using MediaBrowser.Controller.Playlists;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -71,7 +72,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var item = _libraryManager.GetItemById(id);
|
var item = _libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -108,7 +109,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var album = _libraryManager.GetItemById(id);
|
var album = _libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -145,7 +146,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var playlist = (Playlist)_libraryManager.GetItemById(id);
|
var playlist = (Playlist)_libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -182,7 +183,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
? _userManager.GetUserById(userId.Value)
|
? _userManager.GetUserById(userId.Value)
|
||||||
|
@ -218,7 +219,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var item = _libraryManager.GetItemById(id);
|
var item = _libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -255,7 +256,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var item = _libraryManager.GetItemById(id);
|
var item = _libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -292,7 +293,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var item = _libraryManager.GetItemById(id);
|
var item = _libraryManager.GetItemById(id);
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
|
|
@ -185,7 +185,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? filters,
|
[FromQuery] string? filters,
|
||||||
[FromQuery] bool? isFavorite,
|
[FromQuery] bool? isFavorite,
|
||||||
[FromQuery] string? mediaTypes,
|
[FromQuery] string? mediaTypes,
|
||||||
[FromQuery] string? imageTypes,
|
[FromQuery] ImageType[] imageTypes,
|
||||||
[FromQuery] string? sortBy,
|
[FromQuery] string? sortBy,
|
||||||
[FromQuery] bool? isPlayed,
|
[FromQuery] bool? isPlayed,
|
||||||
[FromQuery] string? genres,
|
[FromQuery] string? genres,
|
||||||
|
@ -194,7 +194,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
@ -342,7 +342,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
PersonIds = RequestHelpers.GetGuids(personIds),
|
PersonIds = RequestHelpers.GetGuids(personIds),
|
||||||
PersonTypes = RequestHelpers.Split(personTypes, ',', true),
|
PersonTypes = RequestHelpers.Split(personTypes, ',', true),
|
||||||
Years = RequestHelpers.Split(years, ',', true).Select(int.Parse).ToArray(),
|
Years = RequestHelpers.Split(years, ',', true).Select(int.Parse).ToArray(),
|
||||||
ImageTypes = RequestHelpers.Split(imageTypes, ',', true).Select(v => Enum.Parse<ImageType>(v, true)).ToArray(),
|
ImageTypes = imageTypes,
|
||||||
VideoTypes = RequestHelpers.Split(videoTypes, ',', true).Select(v => Enum.Parse<VideoType>(v, true)).ToArray(),
|
VideoTypes = RequestHelpers.Split(videoTypes, ',', true).Select(v => Enum.Parse<VideoType>(v, true)).ToArray(),
|
||||||
AdjacentTo = adjacentTo,
|
AdjacentTo = adjacentTo,
|
||||||
ItemIds = RequestHelpers.GetGuids(ids),
|
ItemIds = RequestHelpers.GetGuids(ids),
|
||||||
|
@ -539,7 +539,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? mediaTypes,
|
[FromQuery] string? mediaTypes,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? excludeItemTypes,
|
[FromQuery] string? excludeItemTypes,
|
||||||
[FromQuery] string? includeItemTypes,
|
[FromQuery] string? includeItemTypes,
|
||||||
[FromQuery] bool enableTotalRecordCount = true,
|
[FromQuery] bool enableTotalRecordCount = true,
|
||||||
|
|
|
@ -26,6 +26,7 @@ using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.LiveTv;
|
using MediaBrowser.Controller.LiveTv;
|
||||||
using MediaBrowser.Controller.Net;
|
using MediaBrowser.Controller.Net;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
using MediaBrowser.Model.Net;
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
|
@ -145,7 +146,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? isDisliked,
|
[FromQuery] bool? isDisliked,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? fields,
|
[FromQuery] string? fields,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] string? sortBy,
|
[FromQuery] string? sortBy,
|
||||||
|
@ -262,7 +263,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? seriesTimerId,
|
[FromQuery] string? seriesTimerId,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? fields,
|
[FromQuery] string? fields,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] bool? isMovie,
|
[FromQuery] bool? isMovie,
|
||||||
|
@ -349,7 +350,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? seriesTimerId,
|
[FromQuery] string? seriesTimerId,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? fields,
|
[FromQuery] string? fields,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] bool enableTotalRecordCount = true)
|
[FromQuery] bool enableTotalRecordCount = true)
|
||||||
|
@ -560,7 +561,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? genreIds,
|
[FromQuery] string? genreIds,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] string? seriesTimerId,
|
[FromQuery] string? seriesTimerId,
|
||||||
[FromQuery] Guid? librarySeriesId,
|
[FromQuery] Guid? librarySeriesId,
|
||||||
|
@ -661,10 +662,11 @@ namespace Jellyfin.Api.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var imageTypes = RequestHelpers.GetImageTypes(body.EnableImageTypes);
|
||||||
var dtoOptions = new DtoOptions()
|
var dtoOptions = new DtoOptions()
|
||||||
.AddItemFields(body.Fields)
|
.AddItemFields(body.Fields)
|
||||||
.AddClientFields(Request)
|
.AddClientFields(Request)
|
||||||
.AddAdditionalDtoOptions(body.EnableImages, body.EnableUserData, body.ImageTypeLimit, body.EnableImageTypes);
|
.AddAdditionalDtoOptions(body.EnableImages, body.EnableUserData, body.ImageTypeLimit, imageTypes);
|
||||||
return await _liveTvManager.GetPrograms(query, dtoOptions, CancellationToken.None).ConfigureAwait(false);
|
return await _liveTvManager.GetPrograms(query, dtoOptions, CancellationToken.None).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -704,7 +706,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? isSports,
|
[FromQuery] bool? isSports,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? genreIds,
|
[FromQuery] string? genreIds,
|
||||||
[FromQuery] string? fields,
|
[FromQuery] string? fields,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
|
|
|
@ -11,6 +11,7 @@ using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Entities.Audio;
|
using MediaBrowser.Controller.Entities.Audio;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -99,7 +100,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -99,7 +100,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Playlists;
|
using MediaBrowser.Controller.Playlists;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Playlists;
|
using MediaBrowser.Model.Playlists;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
@ -151,7 +152,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes)
|
[FromQuery] ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
var playlist = (Playlist)_libraryManager.GetItemById(playlistId);
|
var playlist = (Playlist)_libraryManager.GetItemById(playlistId);
|
||||||
if (playlist == null)
|
if (playlist == null)
|
||||||
|
|
|
@ -9,6 +9,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -98,7 +99,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using Jellyfin.Api.Constants;
|
using Jellyfin.Api.Constants;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -149,7 +150,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? filters,
|
[FromQuery] string? filters,
|
||||||
[FromQuery] bool? isFavorite,
|
[FromQuery] bool? isFavorite,
|
||||||
[FromQuery] string? mediaTypes,
|
[FromQuery] string? mediaTypes,
|
||||||
[FromQuery] string? imageTypes,
|
[FromQuery] ImageType[] imageTypes,
|
||||||
[FromQuery] string? sortBy,
|
[FromQuery] string? sortBy,
|
||||||
[FromQuery] bool? isPlayed,
|
[FromQuery] bool? isPlayed,
|
||||||
[FromQuery] string? genres,
|
[FromQuery] string? genres,
|
||||||
|
@ -158,7 +159,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? years,
|
[FromQuery] string? years,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] string? person,
|
[FromQuery] string? person,
|
||||||
[FromQuery] string? personIds,
|
[FromQuery] string? personIds,
|
||||||
[FromQuery] string? personTypes,
|
[FromQuery] string? personTypes,
|
||||||
|
|
|
@ -13,6 +13,7 @@ using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.TV;
|
using MediaBrowser.Controller.TV;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -77,7 +78,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? parentId,
|
[FromQuery] string? parentId,
|
||||||
[FromQuery] bool? enableImges,
|
[FromQuery] bool? enableImges,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] bool enableTotalRecordCount = true)
|
[FromQuery] bool enableTotalRecordCount = true)
|
||||||
{
|
{
|
||||||
|
@ -134,7 +135,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? parentId,
|
[FromQuery] string? parentId,
|
||||||
[FromQuery] bool? enableImges,
|
[FromQuery] bool? enableImges,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData)
|
[FromQuery] bool? enableUserData)
|
||||||
{
|
{
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
@ -206,7 +207,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] int? limit,
|
[FromQuery] int? limit,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] string? sortBy)
|
[FromQuery] string? sortBy)
|
||||||
{
|
{
|
||||||
|
@ -325,7 +326,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? adjacentTo,
|
[FromQuery] string? adjacentTo,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData)
|
[FromQuery] bool? enableUserData)
|
||||||
{
|
{
|
||||||
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
var user = userId.HasValue && !userId.Equals(Guid.Empty)
|
||||||
|
|
|
@ -272,7 +272,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] bool? isPlayed,
|
[FromQuery] bool? isPlayed,
|
||||||
[FromQuery] bool? enableImages,
|
[FromQuery] bool? enableImages,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int limit = 20,
|
[FromQuery] int limit = 20,
|
||||||
[FromQuery] bool groupItems = true)
|
[FromQuery] bool groupItems = true)
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Controller.Dto;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -77,7 +78,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
[FromQuery] string? sortBy,
|
[FromQuery] string? sortBy,
|
||||||
[FromQuery] bool? enableUserData,
|
[FromQuery] bool? enableUserData,
|
||||||
[FromQuery] int? imageTypeLimit,
|
[FromQuery] int? imageTypeLimit,
|
||||||
[FromQuery] string? enableImageTypes,
|
[FromQuery] ImageType[] enableImageTypes,
|
||||||
[FromQuery] Guid? userId,
|
[FromQuery] Guid? userId,
|
||||||
[FromQuery] bool recursive = true,
|
[FromQuery] bool recursive = true,
|
||||||
[FromQuery] bool? enableImages = true)
|
[FromQuery] bool? enableImages = true)
|
||||||
|
|
|
@ -126,7 +126,7 @@ namespace Jellyfin.Api.Extensions
|
||||||
bool? enableImages,
|
bool? enableImages,
|
||||||
bool? enableUserData,
|
bool? enableUserData,
|
||||||
int? imageTypeLimit,
|
int? imageTypeLimit,
|
||||||
string? enableImageTypes)
|
ImageType[] enableImageTypes)
|
||||||
{
|
{
|
||||||
dtoOptions.EnableImages = enableImages ?? true;
|
dtoOptions.EnableImages = enableImages ?? true;
|
||||||
|
|
||||||
|
@ -140,11 +140,9 @@ namespace Jellyfin.Api.Extensions
|
||||||
dtoOptions.EnableUserData = enableUserData.Value;
|
dtoOptions.EnableUserData = enableUserData.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(enableImageTypes))
|
if (enableImageTypes.Length != 0)
|
||||||
{
|
{
|
||||||
dtoOptions.ImageTypes = enableImageTypes.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
dtoOptions.ImageTypes = enableImageTypes;
|
||||||
.Select(v => (ImageType)Enum.Parse(typeof(ImageType), v, true))
|
|
||||||
.ToArray();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return dtoOptions;
|
return dtoOptions;
|
||||||
|
|
|
@ -6,6 +6,7 @@ using Jellyfin.Data.Enums;
|
||||||
using MediaBrowser.Common.Extensions;
|
using MediaBrowser.Common.Extensions;
|
||||||
using MediaBrowser.Controller.Net;
|
using MediaBrowser.Controller.Net;
|
||||||
using MediaBrowser.Controller.Session;
|
using MediaBrowser.Controller.Session;
|
||||||
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Querying;
|
using MediaBrowser.Model.Querying;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
|
||||||
|
@ -173,5 +174,31 @@ namespace Jellyfin.Api.Helpers
|
||||||
.Select(i => i!.Value)
|
.Select(i => i!.Value)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the item fields.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="imageTypes">The image types string.</param>
|
||||||
|
/// <returns>IEnumerable{ItemFields}.</returns>
|
||||||
|
internal static ImageType[] GetImageTypes(string? imageTypes)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(imageTypes))
|
||||||
|
{
|
||||||
|
return Array.Empty<ImageType>();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Split(imageTypes, ',', true)
|
||||||
|
.Select(v =>
|
||||||
|
{
|
||||||
|
if (Enum.TryParse(v, true, out ImageType value))
|
||||||
|
{
|
||||||
|
return (ImageType?)value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}).Where(i => i.HasValue)
|
||||||
|
.Select(i => i!.Value)
|
||||||
|
.ToArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user