mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-07 14:52:52 +01:00
Merge branch 'master' into what_could_go_wrong
This commit is contained in:
@@ -133,8 +133,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
MediaTypes = mediaTypes,
|
||||
StartIndex = startIndex,
|
||||
Limit = limit,
|
||||
@@ -337,8 +337,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
MediaTypes = mediaTypes,
|
||||
StartIndex = startIndex,
|
||||
Limit = limit,
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
User = user,
|
||||
MediaTypes = mediaTypes,
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
Recursive = true,
|
||||
EnableTotalRecordCount = false,
|
||||
DtoOptions = new DtoOptions
|
||||
@@ -166,7 +166,7 @@ namespace Jellyfin.Api.Controllers
|
||||
var filters = new QueryFilters();
|
||||
var genreQuery = new InternalItemsQuery(user)
|
||||
{
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
DtoOptions = new DtoOptions
|
||||
{
|
||||
Fields = Array.Empty<ItemFields>(),
|
||||
|
||||
@@ -101,8 +101,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
StartIndex = startIndex,
|
||||
Limit = limit,
|
||||
IsFavorite = isFavorite,
|
||||
@@ -160,7 +160,7 @@ namespace Jellyfin.Api.Controllers
|
||||
Genre item = new Genre();
|
||||
if (genreName.IndexOf(BaseItem.SlugChar, StringComparison.OrdinalIgnoreCase) != -1)
|
||||
{
|
||||
var result = GetItemFromSlugName<Genre>(_libraryManager, genreName, dtoOptions);
|
||||
var result = GetItemFromSlugName<Genre>(_libraryManager, genreName, dtoOptions, BaseItemKind.Genre);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -182,27 +182,27 @@ namespace Jellyfin.Api.Controllers
|
||||
return _dtoService.GetBaseItemDto(item, dtoOptions);
|
||||
}
|
||||
|
||||
private T? GetItemFromSlugName<T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions)
|
||||
private T? GetItemFromSlugName<T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions, BaseItemKind baseItemKind)
|
||||
where T : BaseItem, new()
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '&'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
result ??= libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '/'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
result ??= libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '?'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
|
||||
@@ -296,8 +296,8 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
IsPlayed = isPlayed,
|
||||
MediaTypes = mediaTypes,
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
Recursive = recursive ?? false,
|
||||
OrderBy = RequestHelpers.GetOrderBy(sortBy, sortOrder),
|
||||
IsFavorite = isFavorite,
|
||||
@@ -459,7 +459,7 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
query.AlbumIds = albums.SelectMany(i =>
|
||||
{
|
||||
return _libraryManager.GetItemIds(new InternalItemsQuery { IncludeItemTypes = new[] { nameof(MusicAlbum) }, Name = i, Limit = 1 });
|
||||
return _libraryManager.GetItemIds(new InternalItemsQuery { IncludeItemTypes = new[] { BaseItemKind.MusicAlbum }, Name = i, Limit = 1 });
|
||||
}).ToArray();
|
||||
}
|
||||
|
||||
@@ -483,7 +483,7 @@ namespace Jellyfin.Api.Controllers
|
||||
if (query.OrderBy.Count == 0)
|
||||
{
|
||||
// Albums by artist
|
||||
if (query.ArtistIds.Length > 0 && query.IncludeItemTypes.Length == 1 && string.Equals(query.IncludeItemTypes[0], "MusicAlbum", StringComparison.OrdinalIgnoreCase))
|
||||
if (query.ArtistIds.Length > 0 && query.IncludeItemTypes.Length == 1 && query.IncludeItemTypes[0] == BaseItemKind.MusicAlbum)
|
||||
{
|
||||
query.OrderBy = new[] { new ValueTuple<string, SortOrder>(ItemSortBy.ProductionYear, SortOrder.Descending), new ValueTuple<string, SortOrder>(ItemSortBy.SortName, SortOrder.Ascending) };
|
||||
}
|
||||
@@ -831,8 +831,8 @@ namespace Jellyfin.Api.Controllers
|
||||
CollapseBoxSetItems = false,
|
||||
EnableTotalRecordCount = enableTotalRecordCount,
|
||||
AncestorIds = ancestorIds,
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
SearchTerm = searchTerm,
|
||||
ExcludeItemIds = excludeItemIds
|
||||
});
|
||||
|
||||
@@ -14,6 +14,7 @@ using Jellyfin.Api.Extensions;
|
||||
using Jellyfin.Api.ModelBinders;
|
||||
using Jellyfin.Api.Models.LibraryDtos;
|
||||
using Jellyfin.Data.Entities;
|
||||
using Jellyfin.Data.Enums;
|
||||
using MediaBrowser.Common.Progress;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
@@ -413,14 +414,14 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var counts = new ItemCounts
|
||||
{
|
||||
AlbumCount = GetCount(typeof(MusicAlbum), user, isFavorite),
|
||||
EpisodeCount = GetCount(typeof(Episode), user, isFavorite),
|
||||
MovieCount = GetCount(typeof(Movie), user, isFavorite),
|
||||
SeriesCount = GetCount(typeof(Series), user, isFavorite),
|
||||
SongCount = GetCount(typeof(Audio), user, isFavorite),
|
||||
MusicVideoCount = GetCount(typeof(MusicVideo), user, isFavorite),
|
||||
BoxSetCount = GetCount(typeof(BoxSet), user, isFavorite),
|
||||
BookCount = GetCount(typeof(Book), user, isFavorite)
|
||||
AlbumCount = GetCount(BaseItemKind.MusicAlbum, user, isFavorite),
|
||||
EpisodeCount = GetCount(BaseItemKind.Episode, user, isFavorite),
|
||||
MovieCount = GetCount(BaseItemKind.Movie, user, isFavorite),
|
||||
SeriesCount = GetCount(BaseItemKind.Series, user, isFavorite),
|
||||
SongCount = GetCount(BaseItemKind.Audio, user, isFavorite),
|
||||
MusicVideoCount = GetCount(BaseItemKind.MusicVideo, user, isFavorite),
|
||||
BoxSetCount = GetCount(BaseItemKind.BoxSet, user, isFavorite),
|
||||
BookCount = GetCount(BaseItemKind.Book, user, isFavorite)
|
||||
};
|
||||
|
||||
return counts;
|
||||
@@ -529,7 +530,7 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
var series = _libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
IncludeItemTypes = new[] { nameof(Series) },
|
||||
IncludeItemTypes = new[] { BaseItemKind.Series },
|
||||
DtoOptions = new DtoOptions(false)
|
||||
{
|
||||
EnableImages = false
|
||||
@@ -559,7 +560,7 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
var movies = _libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
IncludeItemTypes = new[] { nameof(Movie) },
|
||||
IncludeItemTypes = new[] { BaseItemKind.Movie },
|
||||
DtoOptions = new DtoOptions(false)
|
||||
{
|
||||
EnableImages = false
|
||||
@@ -715,26 +716,26 @@ namespace Jellyfin.Api.Controllers
|
||||
bool? isMovie = item is Movie || (program != null && program.IsMovie) || item is Trailer;
|
||||
bool? isSeries = item is Series || (program != null && program.IsSeries);
|
||||
|
||||
var includeItemTypes = new List<string>();
|
||||
var includeItemTypes = new List<BaseItemKind>();
|
||||
if (isMovie.Value)
|
||||
{
|
||||
includeItemTypes.Add(nameof(Movie));
|
||||
includeItemTypes.Add(BaseItemKind.Movie);
|
||||
if (_serverConfigurationManager.Configuration.EnableExternalContentInSuggestions)
|
||||
{
|
||||
includeItemTypes.Add(nameof(Trailer));
|
||||
includeItemTypes.Add(nameof(LiveTvProgram));
|
||||
includeItemTypes.Add(BaseItemKind.Trailer);
|
||||
includeItemTypes.Add(BaseItemKind.LiveTvProgram);
|
||||
}
|
||||
}
|
||||
else if (isSeries.Value)
|
||||
{
|
||||
includeItemTypes.Add(nameof(Series));
|
||||
includeItemTypes.Add(BaseItemKind.Series);
|
||||
}
|
||||
else
|
||||
{
|
||||
// For non series and movie types these columns are typically null
|
||||
isSeries = null;
|
||||
isMovie = null;
|
||||
includeItemTypes.Add(item.GetType().Name);
|
||||
includeItemTypes.Add(item.GetBaseItemKind());
|
||||
}
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
@@ -871,11 +872,11 @@ namespace Jellyfin.Api.Controllers
|
||||
return result;
|
||||
}
|
||||
|
||||
private int GetCount(Type type, User? user, bool? isFavorite)
|
||||
private int GetCount(BaseItemKind itemKind, User? user, bool? isFavorite)
|
||||
{
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
IncludeItemTypes = new[] { type.Name },
|
||||
IncludeItemTypes = new[] { itemKind },
|
||||
Limit = 0,
|
||||
Recursive = true,
|
||||
IsVirtualItem = false,
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace Jellyfin.Api.Controllers
|
||||
{
|
||||
IncludeItemTypes = new[]
|
||||
{
|
||||
nameof(Movie),
|
||||
BaseItemKind.Movie,
|
||||
// nameof(Trailer),
|
||||
// nameof(LiveTvProgram)
|
||||
},
|
||||
@@ -99,11 +99,11 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var recentlyPlayedMovies = _libraryManager.GetItemList(query);
|
||||
|
||||
var itemTypes = new List<string> { nameof(Movie) };
|
||||
var itemTypes = new List<BaseItemKind> { BaseItemKind.Movie };
|
||||
if (_serverConfigurationManager.Configuration.EnableExternalContentInSuggestions)
|
||||
{
|
||||
itemTypes.Add(nameof(Trailer));
|
||||
itemTypes.Add(nameof(LiveTvProgram));
|
||||
itemTypes.Add(BaseItemKind.Trailer);
|
||||
itemTypes.Add(BaseItemKind.LiveTvProgram);
|
||||
}
|
||||
|
||||
var likedMovies = _libraryManager.GetItemList(new InternalItemsQuery(user)
|
||||
@@ -182,11 +182,11 @@ namespace Jellyfin.Api.Controllers
|
||||
DtoOptions dtoOptions,
|
||||
RecommendationType type)
|
||||
{
|
||||
var itemTypes = new List<string> { nameof(Movie) };
|
||||
var itemTypes = new List<BaseItemKind> { BaseItemKind.Movie };
|
||||
if (_serverConfigurationManager.Configuration.EnableExternalContentInSuggestions)
|
||||
{
|
||||
itemTypes.Add(nameof(Trailer));
|
||||
itemTypes.Add(nameof(LiveTvProgram));
|
||||
itemTypes.Add(BaseItemKind.Trailer);
|
||||
itemTypes.Add(BaseItemKind.LiveTvProgram);
|
||||
}
|
||||
|
||||
foreach (var name in names)
|
||||
@@ -224,11 +224,11 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
private IEnumerable<RecommendationDto> GetWithActor(User? user, IEnumerable<string> names, int itemLimit, DtoOptions dtoOptions, RecommendationType type)
|
||||
{
|
||||
var itemTypes = new List<string> { nameof(Movie) };
|
||||
var itemTypes = new List<BaseItemKind> { BaseItemKind.Movie };
|
||||
if (_serverConfigurationManager.Configuration.EnableExternalContentInSuggestions)
|
||||
{
|
||||
itemTypes.Add(nameof(Trailer));
|
||||
itemTypes.Add(nameof(LiveTvProgram));
|
||||
itemTypes.Add(BaseItemKind.Trailer);
|
||||
itemTypes.Add(BaseItemKind.LiveTvProgram);
|
||||
}
|
||||
|
||||
foreach (var name in names)
|
||||
@@ -264,11 +264,11 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
private IEnumerable<RecommendationDto> GetSimilarTo(User? user, IEnumerable<BaseItem> baselineItems, int itemLimit, DtoOptions dtoOptions, RecommendationType type)
|
||||
{
|
||||
var itemTypes = new List<string> { nameof(Movie) };
|
||||
var itemTypes = new List<BaseItemKind> { BaseItemKind.Movie };
|
||||
if (_serverConfigurationManager.Configuration.EnableExternalContentInSuggestions)
|
||||
{
|
||||
itemTypes.Add(nameof(Trailer));
|
||||
itemTypes.Add(nameof(LiveTvProgram));
|
||||
itemTypes.Add(BaseItemKind.Trailer);
|
||||
itemTypes.Add(BaseItemKind.LiveTvProgram);
|
||||
}
|
||||
|
||||
foreach (var item in baselineItems)
|
||||
|
||||
@@ -101,8 +101,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
StartIndex = startIndex,
|
||||
Limit = limit,
|
||||
IsFavorite = isFavorite,
|
||||
@@ -149,7 +149,7 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
if (genreName.IndexOf(BaseItem.SlugChar, StringComparison.OrdinalIgnoreCase) != -1)
|
||||
{
|
||||
item = GetItemFromSlugName<MusicGenre>(_libraryManager, genreName, dtoOptions);
|
||||
item = GetItemFromSlugName<MusicGenre>(_libraryManager, genreName, dtoOptions, BaseItemKind.MusicGenre);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -166,27 +166,27 @@ namespace Jellyfin.Api.Controllers
|
||||
return _dtoService.GetBaseItemDto(item, dtoOptions);
|
||||
}
|
||||
|
||||
private T? GetItemFromSlugName<T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions)
|
||||
private T? GetItemFromSlugName<T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions, BaseItemKind baseItemKind)
|
||||
where T : BaseItem, new()
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '&'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
result ??= libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '/'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
result ??= libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '?'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
IncludeItemTypes = new[] { baseItemKind },
|
||||
DtoOptions = dtoOptions
|
||||
}).OfType<T>().FirstOrDefault();
|
||||
|
||||
|
||||
@@ -110,8 +110,8 @@ namespace Jellyfin.Api.Controllers
|
||||
IncludeStudios = includeStudios,
|
||||
StartIndex = startIndex,
|
||||
UserId = userId ?? Guid.Empty,
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
MediaTypes = mediaTypes,
|
||||
ParentId = parentId,
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace Jellyfin.Api.Controllers
|
||||
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||
public async Task<ActionResult> DisplayContent(
|
||||
[FromRoute, Required] string sessionId,
|
||||
[FromQuery, Required] string itemType,
|
||||
[FromQuery, Required] BaseItemKind itemType,
|
||||
[FromQuery, Required] string itemId,
|
||||
[FromQuery, Required] string itemName)
|
||||
{
|
||||
|
||||
@@ -93,7 +93,7 @@ namespace Jellyfin.Api.Controllers
|
||||
NetworkConfiguration settings = _config.GetNetworkConfiguration();
|
||||
settings.EnableRemoteAccess = startupRemoteAccessDto.EnableRemoteAccess;
|
||||
settings.EnableUPnP = startupRemoteAccessDto.EnableAutomaticPortMapping;
|
||||
_config.SaveConfiguration("network", settings);
|
||||
_config.SaveConfiguration(NetworkConfigurationStore.StoreKey, settings);
|
||||
return NoContent();
|
||||
}
|
||||
|
||||
|
||||
@@ -97,8 +97,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
StartIndex = startIndex,
|
||||
Limit = limit,
|
||||
IsFavorite = isFavorite,
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace Jellyfin.Api.Controllers
|
||||
public ActionResult<QueryResult<BaseItemDto>> GetSuggestions(
|
||||
[FromRoute, Required] Guid userId,
|
||||
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] string[] mediaType,
|
||||
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] string[] type,
|
||||
[FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] BaseItemKind[] type,
|
||||
[FromQuery] int? startIndex,
|
||||
[FromQuery] int? limit,
|
||||
[FromQuery] bool enableTotalRecordCount = false)
|
||||
|
||||
@@ -157,7 +157,7 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var itemsResult = _libraryManager.GetItemList(new InternalItemsQuery(user)
|
||||
{
|
||||
IncludeItemTypes = new[] { nameof(Episode) },
|
||||
IncludeItemTypes = new[] { BaseItemKind.Episode },
|
||||
OrderBy = new[] { (ItemSortBy.PremiereDate, SortOrder.Ascending), (ItemSortBy.SortName, SortOrder.Ascending) },
|
||||
MinPremiereDate = minPremiereDate,
|
||||
StartIndex = startIndex,
|
||||
|
||||
@@ -297,7 +297,7 @@ namespace Jellyfin.Api.Controllers
|
||||
new LatestItemsQuery
|
||||
{
|
||||
GroupItems = groupItems,
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
IsPlayed = isPlayed,
|
||||
Limit = limit,
|
||||
ParentId = parentId ?? Guid.Empty,
|
||||
|
||||
@@ -101,8 +101,8 @@ namespace Jellyfin.Api.Controllers
|
||||
|
||||
var query = new InternalItemsQuery(user)
|
||||
{
|
||||
ExcludeItemTypes = RequestHelpers.GetItemTypeStrings(excludeItemTypes),
|
||||
IncludeItemTypes = RequestHelpers.GetItemTypeStrings(includeItemTypes),
|
||||
ExcludeItemTypes = excludeItemTypes,
|
||||
IncludeItemTypes = includeItemTypes,
|
||||
MediaTypes = mediaTypes,
|
||||
DtoOptions = dtoOptions
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user