mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user