Convert CollectionType to use lowercase enum names

pull/10702/head
Cody Robibero 5 months ago
parent 0d5bbfda32
commit 033cfa59c4

@ -32,26 +32,26 @@ namespace Emby.Server.Implementations.Images
switch (viewType) switch (viewType)
{ {
case CollectionType.Movies: case CollectionType.movies:
includeItemTypes = new[] { BaseItemKind.Movie }; includeItemTypes = new[] { BaseItemKind.Movie };
break; break;
case CollectionType.TvShows: case CollectionType.tvshows:
includeItemTypes = new[] { BaseItemKind.Series }; includeItemTypes = new[] { BaseItemKind.Series };
break; break;
case CollectionType.Music: case CollectionType.music:
includeItemTypes = new[] { BaseItemKind.MusicAlbum }; includeItemTypes = new[] { BaseItemKind.MusicAlbum };
break; break;
case CollectionType.MusicVideos: case CollectionType.musicvideos:
includeItemTypes = new[] { BaseItemKind.MusicVideo }; includeItemTypes = new[] { BaseItemKind.MusicVideo };
break; break;
case CollectionType.Books: case CollectionType.books:
includeItemTypes = new[] { BaseItemKind.Book, BaseItemKind.AudioBook }; includeItemTypes = new[] { BaseItemKind.Book, BaseItemKind.AudioBook };
break; break;
case CollectionType.BoxSets: case CollectionType.boxsets:
includeItemTypes = new[] { BaseItemKind.BoxSet }; includeItemTypes = new[] { BaseItemKind.BoxSet };
break; break;
case CollectionType.HomeVideos: case CollectionType.homevideos:
case CollectionType.Photos: case CollectionType.photos:
includeItemTypes = new[] { BaseItemKind.Video, BaseItemKind.Photo }; includeItemTypes = new[] { BaseItemKind.Video, BaseItemKind.Photo };
break; break;
default: default:
@ -59,7 +59,7 @@ namespace Emby.Server.Implementations.Images
break; break;
} }
var recursive = viewType != CollectionType.Playlists; var recursive = viewType != CollectionType.playlists;
return view.GetItemList(new InternalItemsQuery return view.GetItemList(new InternalItemsQuery
{ {

@ -36,7 +36,7 @@ namespace Emby.Server.Implementations.Images
var view = (UserView)item; var view = (UserView)item;
var isUsingCollectionStrip = IsUsingCollectionStrip(view); var isUsingCollectionStrip = IsUsingCollectionStrip(view);
var recursive = isUsingCollectionStrip && view?.ViewType is not null && view.ViewType != CollectionType.BoxSets && view.ViewType != CollectionType.Playlists; var recursive = isUsingCollectionStrip && view?.ViewType is not null && view.ViewType != CollectionType.boxsets && view.ViewType != CollectionType.playlists;
var result = view.GetItemList(new InternalItemsQuery var result = view.GetItemList(new InternalItemsQuery
{ {
@ -114,9 +114,9 @@ namespace Emby.Server.Implementations.Images
{ {
CollectionType[] collectionStripViewTypes = CollectionType[] collectionStripViewTypes =
{ {
CollectionType.Movies, CollectionType.movies,
CollectionType.TvShows, CollectionType.tvshows,
CollectionType.Playlists CollectionType.playlists
}; };
return view?.ViewType is not null && collectionStripViewTypes.Contains(view.ViewType.Value); return view?.ViewType is not null && collectionStripViewTypes.Contains(view.ViewType.Value);

@ -1514,7 +1514,7 @@ namespace Emby.Server.Implementations.Library
{ {
if (item is UserView view) if (item is UserView view)
{ {
if (view.ViewType == CollectionType.LiveTv) if (view.ViewType == CollectionType.livetv)
{ {
return new[] { view.Id }; return new[] { view.Id };
} }
@ -1543,7 +1543,7 @@ namespace Emby.Server.Implementations.Library
} }
// Handle grouping // Handle grouping
if (user is not null && view.ViewType != CollectionType.Unknown && UserView.IsEligibleForGrouping(view.ViewType) if (user is not null && view.ViewType != CollectionType.unknown && UserView.IsEligibleForGrouping(view.ViewType)
&& user.GetPreference(PreferenceKind.GroupedFolders).Length > 0) && user.GetPreference(PreferenceKind.GroupedFolders).Length > 0)
{ {
return GetUserRootFolder() return GetUserRootFolder()

@ -61,7 +61,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
CollectionType? collectionType) CollectionType? collectionType)
{ {
if (collectionType == CollectionType.Books) if (collectionType == CollectionType.books)
{ {
return ResolveMultipleAudio(parent, files, true); return ResolveMultipleAudio(parent, files, true);
} }
@ -80,7 +80,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
var isBooksCollectionType = collectionType == CollectionType.Books; var isBooksCollectionType = collectionType == CollectionType.books;
if (args.IsDirectory) if (args.IsDirectory)
{ {
@ -112,7 +112,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
MediaBrowser.Controller.Entities.Audio.Audio item = null; MediaBrowser.Controller.Entities.Audio.Audio item = null;
var isMusicCollectionType = collectionType == CollectionType.Music; var isMusicCollectionType = collectionType == CollectionType.music;
// Use regular audio type for mixed libraries, owned items and music // Use regular audio type for mixed libraries, owned items and music
if (isMixedCollectionType || if (isMixedCollectionType ||

@ -55,7 +55,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
protected override MusicAlbum Resolve(ItemResolveArgs args) protected override MusicAlbum Resolve(ItemResolveArgs args)
{ {
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
var isMusicMediaFolder = collectionType == CollectionType.Music; var isMusicMediaFolder = collectionType == CollectionType.music;
// If there's a collection type and it's not music, don't allow it. // If there's a collection type and it's not music, don't allow it.
if (!isMusicMediaFolder) if (!isMusicMediaFolder)

@ -65,7 +65,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
var isMusicMediaFolder = collectionType == CollectionType.Music; var isMusicMediaFolder = collectionType == CollectionType.music;
// If there's a collection type and it's not music, it can't be a music artist // If there's a collection type and it's not music, it can't be a music artist
if (!isMusicMediaFolder) if (!isMusicMediaFolder)

@ -23,7 +23,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Books
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
// Only process items that are in a collection folder containing books // Only process items that are in a collection folder containing books
if (collectionType != CollectionType.Books) if (collectionType != CollectionType.books)
{ {
return null; return null;
} }

@ -31,11 +31,11 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
private static readonly CollectionType[] _validCollectionTypes = new[] private static readonly CollectionType[] _validCollectionTypes = new[]
{ {
CollectionType.Movies, CollectionType.movies,
CollectionType.HomeVideos, CollectionType.homevideos,
CollectionType.MusicVideos, CollectionType.musicvideos,
CollectionType.TvShows, CollectionType.tvshows,
CollectionType.Photos CollectionType.photos
}; };
/// <summary> /// <summary>
@ -100,12 +100,12 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Video movie = null; Video movie = null;
var files = args.GetActualFileSystemChildren().ToList(); var files = args.GetActualFileSystemChildren().ToList();
if (collectionType == CollectionType.MusicVideos) if (collectionType == CollectionType.musicvideos)
{ {
movie = FindMovie<MusicVideo>(args, args.Path, args.Parent, files, DirectoryService, collectionType, false); movie = FindMovie<MusicVideo>(args, args.Path, args.Parent, files, DirectoryService, collectionType, false);
} }
if (collectionType == CollectionType.HomeVideos) if (collectionType == CollectionType.homevideos)
{ {
movie = FindMovie<Video>(args, args.Path, args.Parent, files, DirectoryService, collectionType, false); movie = FindMovie<Video>(args, args.Path, args.Parent, files, DirectoryService, collectionType, false);
} }
@ -126,7 +126,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
movie = FindMovie<Movie>(args, args.Path, args.Parent, files, DirectoryService, collectionType, true); movie = FindMovie<Movie>(args, args.Path, args.Parent, files, DirectoryService, collectionType, true);
} }
if (collectionType == CollectionType.Movies) if (collectionType == CollectionType.movies)
{ {
movie = FindMovie<Movie>(args, args.Path, args.Parent, files, DirectoryService, collectionType, true); movie = FindMovie<Movie>(args, args.Path, args.Parent, files, DirectoryService, collectionType, true);
} }
@ -147,17 +147,17 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Video item = null; Video item = null;
if (collectionType == CollectionType.MusicVideos) if (collectionType == CollectionType.musicvideos)
{ {
item = ResolveVideo<MusicVideo>(args, false); item = ResolveVideo<MusicVideo>(args, false);
} }
// To find a movie file, the collection type must be movies or boxsets // To find a movie file, the collection type must be movies or boxsets
else if (collectionType == CollectionType.Movies) else if (collectionType == CollectionType.movies)
{ {
item = ResolveVideo<Movie>(args, true); item = ResolveVideo<Movie>(args, true);
} }
else if (collectionType == CollectionType.HomeVideos || collectionType == CollectionType.Photos) else if (collectionType == CollectionType.homevideos || collectionType == CollectionType.photos)
{ {
item = ResolveVideo<Video>(args, false); item = ResolveVideo<Video>(args, false);
} }
@ -195,12 +195,12 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return null; return null;
} }
if (collectionType is CollectionType.MusicVideos) if (collectionType is CollectionType.musicvideos)
{ {
return ResolveVideos<MusicVideo>(parent, files, true, collectionType, false); return ResolveVideos<MusicVideo>(parent, files, true, collectionType, false);
} }
if (collectionType == CollectionType.HomeVideos || collectionType == CollectionType.Photos) if (collectionType == CollectionType.homevideos || collectionType == CollectionType.photos)
{ {
return ResolveVideos<Video>(parent, files, false, collectionType, false); return ResolveVideos<Video>(parent, files, false, collectionType, false);
} }
@ -221,12 +221,12 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return ResolveVideos<Movie>(parent, files, false, collectionType, true); return ResolveVideos<Movie>(parent, files, false, collectionType, true);
} }
if (collectionType == CollectionType.Movies) if (collectionType == CollectionType.movies)
{ {
return ResolveVideos<Movie>(parent, files, true, collectionType, true); return ResolveVideos<Movie>(parent, files, true, collectionType, true);
} }
if (collectionType == CollectionType.TvShows) if (collectionType == CollectionType.tvshows)
{ {
return ResolveVideos<Episode>(parent, files, false, collectionType, true); return ResolveVideos<Episode>(parent, files, false, collectionType, true);
} }
@ -403,7 +403,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
var multiDiscFolders = new List<FileSystemMetadata>(); var multiDiscFolders = new List<FileSystemMetadata>();
var libraryOptions = args.LibraryOptions; var libraryOptions = args.LibraryOptions;
var supportPhotos = collectionType == CollectionType.HomeVideos && libraryOptions.EnablePhotos; var supportPhotos = collectionType == CollectionType.homevideos && libraryOptions.EnablePhotos;
var photos = new List<FileSystemMetadata>(); var photos = new List<FileSystemMetadata>();
// Search for a folder rip // Search for a folder rip
@ -459,7 +459,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
var result = ResolveVideos<T>(parent, fileSystemEntries, SupportsMultiVersion, collectionType, parseName) ?? var result = ResolveVideos<T>(parent, fileSystemEntries, SupportsMultiVersion, collectionType, parseName) ??
new MultiItemResolverResult(); new MultiItemResolverResult();
var isPhotosCollection = collectionType == CollectionType.HomeVideos || collectionType == CollectionType.Photos; var isPhotosCollection = collectionType == CollectionType.homevideos || collectionType == CollectionType.photos;
if (!isPhotosCollection && result.Items.Count == 1) if (!isPhotosCollection && result.Items.Count == 1)
{ {
var videoPath = result.Items[0].Path; var videoPath = result.Items[0].Path;

@ -46,8 +46,8 @@ namespace Emby.Server.Implementations.Library.Resolvers
// Must be an image file within a photo collection // Must be an image file within a photo collection
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
if (collectionType == CollectionType.Photos if (collectionType == CollectionType.photos
|| (collectionType == CollectionType.HomeVideos && args.LibraryOptions.EnablePhotos)) || (collectionType == CollectionType.homevideos && args.LibraryOptions.EnablePhotos))
{ {
if (HasPhotos(args)) if (HasPhotos(args))
{ {

@ -61,8 +61,8 @@ namespace Emby.Server.Implementations.Library.Resolvers
// Must be an image file within a photo collection // Must be an image file within a photo collection
var collectionType = args.CollectionType; var collectionType = args.CollectionType;
if (collectionType == CollectionType.Photos if (collectionType == CollectionType.photos
|| (collectionType == CollectionType.HomeVideos && args.LibraryOptions.EnablePhotos)) || (collectionType == CollectionType.homevideos && args.LibraryOptions.EnablePhotos))
{ {
if (IsImageFile(args.Path, _imageProcessor)) if (IsImageFile(args.Path, _imageProcessor))
{ {

@ -23,7 +23,7 @@ namespace Emby.Server.Implementations.Library.Resolvers
private CollectionType?[] _musicPlaylistCollectionTypes = private CollectionType?[] _musicPlaylistCollectionTypes =
{ {
null, null,
CollectionType.Music CollectionType.music
}; };
/// <inheritdoc/> /// <inheritdoc/>

@ -50,7 +50,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
// If the parent is a Season or Series and the parent is not an extras folder, then this is an Episode if the VideoResolver returns something // If the parent is a Season or Series and the parent is not an extras folder, then this is an Episode if the VideoResolver returns something
// Also handle flat tv folders // Also handle flat tv folders
if (season is not null if (season is not null
|| args.GetCollectionType() == CollectionType.TvShows || args.GetCollectionType() == CollectionType.tvshows
|| args.HasParent<Series>()) || args.HasParent<Series>())
{ {
var episode = ResolveVideo<Episode>(args, false); var episode = ResolveVideo<Episode>(args, false);

@ -60,11 +60,11 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
var seriesInfo = Naming.TV.SeriesResolver.Resolve(_namingOptions, args.Path); var seriesInfo = Naming.TV.SeriesResolver.Resolve(_namingOptions, args.Path);
var collectionType = args.GetCollectionType(); var collectionType = args.GetCollectionType();
if (collectionType == CollectionType.TvShows) if (collectionType == CollectionType.tvshows)
{ {
// TODO refactor into separate class or something, this is copied from LibraryManager.GetConfiguredContentType // TODO refactor into separate class or something, this is copied from LibraryManager.GetConfiguredContentType
var configuredContentType = args.GetConfiguredContentType(); var configuredContentType = args.GetConfiguredContentType();
if (configuredContentType != CollectionType.TvShows) if (configuredContentType != CollectionType.tvshows)
{ {
return new Series return new Series
{ {

@ -64,7 +64,7 @@ namespace Emby.Server.Implementations.Library
var folderViewType = collectionFolder?.CollectionType; var folderViewType = collectionFolder?.CollectionType;
// Playlist library requires special handling because the folder only references user playlists // Playlist library requires special handling because the folder only references user playlists
if (folderViewType == CollectionType.Playlists) if (folderViewType == CollectionType.playlists)
{ {
var items = folder.GetItemList(new InternalItemsQuery(user) var items = folder.GetItemList(new InternalItemsQuery(user)
{ {
@ -99,14 +99,14 @@ namespace Emby.Server.Implementations.Library
} }
} }
foreach (var viewType in new[] { CollectionType.Movies, CollectionType.TvShows }) foreach (var viewType in new[] { CollectionType.movies, CollectionType.tvshows })
{ {
var parents = groupedFolders.Where(i => i.CollectionType == viewType || i.CollectionType is null) var parents = groupedFolders.Where(i => i.CollectionType == viewType || i.CollectionType is null)
.ToList(); .ToList();
if (parents.Count > 0) if (parents.Count > 0)
{ {
var localizationKey = viewType == CollectionType.TvShows var localizationKey = viewType == CollectionType.tvshows
? "TvShows" ? "TvShows"
: "Movies"; : "Movies";
@ -117,7 +117,7 @@ namespace Emby.Server.Implementations.Library
if (_config.Configuration.EnableFolderView) if (_config.Configuration.EnableFolderView)
{ {
var name = _localizationManager.GetLocalizedString("Folders"); var name = _localizationManager.GetLocalizedString("Folders");
list.Add(_libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty)); list.Add(_libraryManager.GetNamedView(name, CollectionType.folders, string.Empty));
} }
if (query.IncludeExternalContent) if (query.IncludeExternalContent)
@ -279,7 +279,7 @@ namespace Emby.Server.Implementations.Library
var isPlayed = request.IsPlayed; var isPlayed = request.IsPlayed;
if (parents.OfType<ICollectionFolder>().Any(i => i.CollectionType == CollectionType.Music)) if (parents.OfType<ICollectionFolder>().Any(i => i.CollectionType == CollectionType.music))
{ {
isPlayed = null; isPlayed = null;
} }
@ -305,11 +305,11 @@ namespace Emby.Server.Implementations.Library
var hasCollectionType = parents.OfType<UserView>().ToArray(); var hasCollectionType = parents.OfType<UserView>().ToArray();
if (hasCollectionType.Length > 0) if (hasCollectionType.Length > 0)
{ {
if (hasCollectionType.All(i => i.CollectionType == CollectionType.Movies)) if (hasCollectionType.All(i => i.CollectionType == CollectionType.movies))
{ {
includeItemTypes = new[] { BaseItemKind.Movie }; includeItemTypes = new[] { BaseItemKind.Movie };
} }
else if (hasCollectionType.All(i => i.CollectionType == CollectionType.TvShows)) else if (hasCollectionType.All(i => i.CollectionType == CollectionType.tvshows))
{ {
includeItemTypes = new[] { BaseItemKind.Episode }; includeItemTypes = new[] { BaseItemKind.Episode };
} }
@ -324,18 +324,18 @@ namespace Emby.Server.Implementations.Library
{ {
switch (parent.CollectionType) switch (parent.CollectionType)
{ {
case CollectionType.Books: case CollectionType.books:
mediaTypes.Add(MediaType.Book); mediaTypes.Add(MediaType.Book);
mediaTypes.Add(MediaType.Audio); mediaTypes.Add(MediaType.Audio);
break; break;
case CollectionType.Music: case CollectionType.music:
mediaTypes.Add(MediaType.Audio); mediaTypes.Add(MediaType.Audio);
break; break;
case CollectionType.Photos: case CollectionType.photos:
mediaTypes.Add(MediaType.Photo); mediaTypes.Add(MediaType.Photo);
mediaTypes.Add(MediaType.Video); mediaTypes.Add(MediaType.Video);
break; break;
case CollectionType.HomeVideos: case CollectionType.homevideos:
mediaTypes.Add(MediaType.Photo); mediaTypes.Add(MediaType.Photo);
mediaTypes.Add(MediaType.Video); mediaTypes.Add(MediaType.Video);
break; break;

@ -2168,7 +2168,7 @@ namespace Emby.Server.Implementations.LiveTv
public Folder GetInternalLiveTvFolder(CancellationToken cancellationToken) public Folder GetInternalLiveTvFolder(CancellationToken cancellationToken)
{ {
var name = _localization.GetLocalizedString("HeaderLiveTV"); var name = _localization.GetLocalizedString("HeaderLiveTV");
return _libraryManager.GetNamedView(name, CollectionType.LiveTv, name); return _libraryManager.GetNamedView(name, CollectionType.livetv, name);
} }
public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true) public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true)

@ -25,7 +25,7 @@ namespace Emby.Server.Implementations.Playlists
public override bool SupportsInheritedParentImages => false; public override bool SupportsInheritedParentImages => false;
[JsonIgnore] [JsonIgnore]
public override CollectionType? CollectionType => Jellyfin.Data.Enums.CollectionType.Playlists; public override CollectionType? CollectionType => Jellyfin.Data.Enums.CollectionType.playlists;
protected override IEnumerable<BaseItem> GetEligibleChildrenForRecursiveChildren(User user) protected override IEnumerable<BaseItem> GetEligibleChildrenForRecursiveChildren(User user)
{ {

@ -131,8 +131,8 @@ public class GenresController : BaseJellyfinApiController
QueryResult<(BaseItem, ItemCounts)> result; QueryResult<(BaseItem, ItemCounts)> result;
if (parentItem is ICollectionFolder parentCollectionFolder if (parentItem is ICollectionFolder parentCollectionFolder
&& (parentCollectionFolder.CollectionType == CollectionType.Music && (parentCollectionFolder.CollectionType == CollectionType.music
|| parentCollectionFolder.CollectionType == CollectionType.MusicVideos)) || parentCollectionFolder.CollectionType == CollectionType.musicvideos))
{ {
result = _libraryManager.GetMusicGenres(query); result = _libraryManager.GetMusicGenres(query);
} }

@ -171,7 +171,7 @@ public class ItemUpdateController : BaseJellyfinApiController
info.ContentTypeOptions = GetContentTypeOptions(true).ToArray(); info.ContentTypeOptions = GetContentTypeOptions(true).ToArray();
info.ContentType = configuredContentType; info.ContentType = configuredContentType;
if (inheritedContentType is null || inheritedContentType == CollectionType.TvShows) if (inheritedContentType is null || inheritedContentType == CollectionType.tvshows)
{ {
info.ContentTypeOptions = info.ContentTypeOptions info.ContentTypeOptions = info.ContentTypeOptions
.Where(i => string.IsNullOrWhiteSpace(i.Value) .Where(i => string.IsNullOrWhiteSpace(i.Value)

@ -275,7 +275,7 @@ public class ItemsController : BaseJellyfinApiController
collectionType = hasCollectionType.CollectionType; collectionType = hasCollectionType.CollectionType;
} }
if (collectionType == CollectionType.Playlists) if (collectionType == CollectionType.playlists)
{ {
recursive = true; recursive = true;
includeItemTypes = new[] { BaseItemKind.Playlist }; includeItemTypes = new[] { BaseItemKind.Playlist };

@ -927,15 +927,15 @@ public class LibraryController : BaseJellyfinApiController
{ {
return contentType switch return contentType switch
{ {
CollectionType.BoxSets => new[] { "BoxSet" }, CollectionType.boxsets => new[] { "BoxSet" },
CollectionType.Playlists => new[] { "Playlist" }, CollectionType.playlists => new[] { "Playlist" },
CollectionType.Movies => new[] { "Movie" }, CollectionType.movies => new[] { "Movie" },
CollectionType.TvShows => new[] { "Series", "Season", "Episode" }, CollectionType.tvshows => new[] { "Series", "Season", "Episode" },
CollectionType.Books => new[] { "Book" }, CollectionType.books => new[] { "Book" },
CollectionType.Music => new[] { "MusicArtist", "MusicAlbum", "Audio", "MusicVideo" }, CollectionType.music => new[] { "MusicArtist", "MusicAlbum", "Audio", "MusicVideo" },
CollectionType.HomeVideos => new[] { "Video", "Photo" }, CollectionType.homevideos => new[] { "Video", "Photo" },
CollectionType.Photos => new[] { "Video", "Photo" }, CollectionType.photos => new[] { "Video", "Photo" },
CollectionType.MusicVideos => new[] { "MusicVideo" }, CollectionType.musicvideos => new[] { "MusicVideo" },
_ => new[] { "Series", "Season", "Episode", "Movie" } _ => new[] { "Series", "Season", "Episode", "Movie" }
}; };
} }

@ -1,3 +1,4 @@
#pragma warning disable SA1300 // The name of a C# element does not begin with an upper-case letter. - disabled due to legacy requirement.
using Jellyfin.Data.Attributes; using Jellyfin.Data.Attributes;
namespace Jellyfin.Data.Enums; namespace Jellyfin.Data.Enums;
@ -10,155 +11,155 @@ public enum CollectionType
/// <summary> /// <summary>
/// Unknown collection. /// Unknown collection.
/// </summary> /// </summary>
Unknown = 0, unknown = 0,
/// <summary> /// <summary>
/// Movies collection. /// Movies collection.
/// </summary> /// </summary>
Movies = 1, movies = 1,
/// <summary> /// <summary>
/// Tv shows collection. /// Tv shows collection.
/// </summary> /// </summary>
TvShows = 2, tvshows = 2,
/// <summary> /// <summary>
/// Music collection. /// Music collection.
/// </summary> /// </summary>
Music = 3, music = 3,
/// <summary> /// <summary>
/// Music videos collection. /// Music videos collection.
/// </summary> /// </summary>
MusicVideos = 4, musicvideos = 4,
/// <summary> /// <summary>
/// Trailers collection. /// Trailers collection.
/// </summary> /// </summary>
Trailers = 5, trailers = 5,
/// <summary> /// <summary>
/// Home videos collection. /// Home videos collection.
/// </summary> /// </summary>
HomeVideos = 6, homevideos = 6,
/// <summary> /// <summary>
/// Box sets collection. /// Box sets collection.
/// </summary> /// </summary>
BoxSets = 7, boxsets = 7,
/// <summary> /// <summary>
/// Books collection. /// Books collection.
/// </summary> /// </summary>
Books = 8, books = 8,
/// <summary> /// <summary>
/// Photos collection. /// Photos collection.
/// </summary> /// </summary>
Photos = 9, photos = 9,
/// <summary> /// <summary>
/// Live tv collection. /// Live tv collection.
/// </summary> /// </summary>
LiveTv = 10, livetv = 10,
/// <summary> /// <summary>
/// Playlists collection. /// Playlists collection.
/// </summary> /// </summary>
Playlists = 11, playlists = 11,
/// <summary> /// <summary>
/// Folders collection. /// Folders collection.
/// </summary> /// </summary>
Folders = 12, folders = 12,
/// <summary> /// <summary>
/// Tv show series collection. /// Tv show series collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvShowSeries = 101, tvshowseries = 101,
/// <summary> /// <summary>
/// Tv genres collection. /// Tv genres collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvGenres = 102, tvgenres = 102,
/// <summary> /// <summary>
/// Tv genre collection. /// Tv genre collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvGenre = 103, tvgenre = 103,
/// <summary> /// <summary>
/// Tv latest collection. /// Tv latest collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvLatest = 104, tvlatest = 104,
/// <summary> /// <summary>
/// Tv next up collection. /// Tv next up collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvNextUp = 105, tvnextup = 105,
/// <summary> /// <summary>
/// Tv resume collection. /// Tv resume collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvResume = 106, tvresume = 106,
/// <summary> /// <summary>
/// Tv favorite series collection. /// Tv favorite series collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvFavoriteSeries = 107, tvfavoriteseries = 107,
/// <summary> /// <summary>
/// Tv favorite episodes collection. /// Tv favorite episodes collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
TvFavoriteEpisodes = 108, tvfavoriteepisodes = 108,
/// <summary> /// <summary>
/// Latest movies collection. /// Latest movies collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieLatest = 109, movielatest = 109,
/// <summary> /// <summary>
/// Movies to resume collection. /// Movies to resume collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieResume = 110, movieresume = 110,
/// <summary> /// <summary>
/// Movie movie collection. /// Movie movie collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieMovies = 111, moviemovies = 111,
/// <summary> /// <summary>
/// Movie collections collection. /// Movie collections collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieCollections = 112, moviecollection = 112,
/// <summary> /// <summary>
/// Movie favorites collection. /// Movie favorites collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieFavorites = 113, moviefavorites = 113,
/// <summary> /// <summary>
/// Movie genres collection. /// Movie genres collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieGenres = 114, moviegenres = 114,
/// <summary> /// <summary>
/// Movie genre collection. /// Movie genre collection.
/// </summary> /// </summary>
[OpenApiIgnoreEnum] [OpenApiIgnoreEnum]
MovieGenre = 115 moviegenre = 115
} }

@ -724,7 +724,7 @@ namespace MediaBrowser.Controller.Entities
if (this is IHasCollectionType view) if (this is IHasCollectionType view)
{ {
if (view.CollectionType == CollectionType.LiveTv) if (view.CollectionType == CollectionType.livetv)
{ {
return true; return true;
} }

@ -19,19 +19,19 @@ namespace MediaBrowser.Controller.Entities
{ {
private static readonly CollectionType?[] _viewTypesEligibleForGrouping = private static readonly CollectionType?[] _viewTypesEligibleForGrouping =
{ {
Jellyfin.Data.Enums.CollectionType.Movies, Jellyfin.Data.Enums.CollectionType.movies,
Jellyfin.Data.Enums.CollectionType.TvShows, Jellyfin.Data.Enums.CollectionType.tvshows,
null null
}; };
private static readonly CollectionType?[] _originalFolderViewTypes = private static readonly CollectionType?[] _originalFolderViewTypes =
{ {
Jellyfin.Data.Enums.CollectionType.Books, Jellyfin.Data.Enums.CollectionType.books,
Jellyfin.Data.Enums.CollectionType.MusicVideos, Jellyfin.Data.Enums.CollectionType.musicvideos,
Jellyfin.Data.Enums.CollectionType.HomeVideos, Jellyfin.Data.Enums.CollectionType.homevideos,
Jellyfin.Data.Enums.CollectionType.Photos, Jellyfin.Data.Enums.CollectionType.photos,
Jellyfin.Data.Enums.CollectionType.Music, Jellyfin.Data.Enums.CollectionType.music,
Jellyfin.Data.Enums.CollectionType.BoxSets Jellyfin.Data.Enums.CollectionType.boxsets
}; };
public static ITVSeriesManager TVSeriesManager { get; set; } public static ITVSeriesManager TVSeriesManager { get; set; }
@ -161,7 +161,7 @@ namespace MediaBrowser.Controller.Entities
return true; return true;
} }
return collectionFolder.CollectionType == Jellyfin.Data.Enums.CollectionType.Playlists; return collectionFolder.CollectionType == Jellyfin.Data.Enums.CollectionType.playlists;
} }
public static bool IsEligibleForGrouping(Folder folder) public static bool IsEligibleForGrouping(Folder folder)

@ -58,58 +58,58 @@ namespace MediaBrowser.Controller.Entities
switch (viewType) switch (viewType)
{ {
case CollectionType.Folders: case CollectionType.folders:
return GetResult(_libraryManager.GetUserRootFolder().GetChildren(user, true), query); return GetResult(_libraryManager.GetUserRootFolder().GetChildren(user, true), query);
case CollectionType.TvShows: case CollectionType.tvshows:
return GetTvView(queryParent, user, query); return GetTvView(queryParent, user, query);
case CollectionType.Movies: case CollectionType.movies:
return GetMovieFolders(queryParent, user, query); return GetMovieFolders(queryParent, user, query);
case CollectionType.TvShowSeries: case CollectionType.tvshowseries:
return GetTvSeries(queryParent, user, query); return GetTvSeries(queryParent, user, query);
case CollectionType.TvGenres: case CollectionType.tvgenres:
return GetTvGenres(queryParent, user, query); return GetTvGenres(queryParent, user, query);
case CollectionType.TvGenre: case CollectionType.tvgenre:
return GetTvGenreItems(queryParent, displayParent, user, query); return GetTvGenreItems(queryParent, displayParent, user, query);
case CollectionType.TvResume: case CollectionType.tvresume:
return GetTvResume(queryParent, user, query); return GetTvResume(queryParent, user, query);
case CollectionType.TvNextUp: case CollectionType.tvnextup:
return GetTvNextUp(queryParent, query); return GetTvNextUp(queryParent, query);
case CollectionType.TvLatest: case CollectionType.tvlatest:
return GetTvLatest(queryParent, user, query); return GetTvLatest(queryParent, user, query);
case CollectionType.MovieFavorites: case CollectionType.moviefavorites:
return GetFavoriteMovies(queryParent, user, query); return GetFavoriteMovies(queryParent, user, query);
case CollectionType.MovieLatest: case CollectionType.movielatest:
return GetMovieLatest(queryParent, user, query); return GetMovieLatest(queryParent, user, query);
case CollectionType.MovieGenres: case CollectionType.moviegenres:
return GetMovieGenres(queryParent, user, query); return GetMovieGenres(queryParent, user, query);
case CollectionType.MovieGenre: case CollectionType.moviegenre:
return GetMovieGenreItems(queryParent, displayParent, user, query); return GetMovieGenreItems(queryParent, displayParent, user, query);
case CollectionType.MovieResume: case CollectionType.movieresume:
return GetMovieResume(queryParent, user, query); return GetMovieResume(queryParent, user, query);
case CollectionType.MovieMovies: case CollectionType.moviemovies:
return GetMovieMovies(queryParent, user, query); return GetMovieMovies(queryParent, user, query);
case CollectionType.MovieCollections: case CollectionType.moviecollection:
return GetMovieCollections(user, query); return GetMovieCollections(user, query);
case CollectionType.TvFavoriteEpisodes: case CollectionType.tvfavoriteepisodes:
return GetFavoriteEpisodes(queryParent, user, query); return GetFavoriteEpisodes(queryParent, user, query);
case CollectionType.TvFavoriteSeries: case CollectionType.tvfavoriteseries:
return GetFavoriteSeries(queryParent, user, query); return GetFavoriteSeries(queryParent, user, query);
default: default:
@ -146,12 +146,12 @@ namespace MediaBrowser.Controller.Entities
var list = new List<BaseItem> var list = new List<BaseItem>
{ {
GetUserView(CollectionType.MovieResume, "HeaderContinueWatching", "0", parent), GetUserView(CollectionType.movieresume, "HeaderContinueWatching", "0", parent),
GetUserView(CollectionType.MovieLatest, "Latest", "1", parent), GetUserView(CollectionType.movielatest, "Latest", "1", parent),
GetUserView(CollectionType.MovieMovies, "Movies", "2", parent), GetUserView(CollectionType.moviemovies, "Movies", "2", parent),
GetUserView(CollectionType.MovieCollections, "Collections", "3", parent), GetUserView(CollectionType.moviecollection, "Collections", "3", parent),
GetUserView(CollectionType.MovieFavorites, "Favorites", "4", parent), GetUserView(CollectionType.moviefavorites, "Favorites", "4", parent),
GetUserView(CollectionType.MovieGenres, "Genres", "5", parent) GetUserView(CollectionType.moviegenres, "Genres", "5", parent)
}; };
return GetResult(list, query); return GetResult(list, query);
@ -264,7 +264,7 @@ namespace MediaBrowser.Controller.Entities
} }
}) })
.Where(i => i is not null) .Where(i => i is not null)
.Select(i => GetUserViewWithName(CollectionType.MovieGenre, i.SortName, parent)); .Select(i => GetUserViewWithName(CollectionType.moviegenre, i.SortName, parent));
return GetResult(genres, query); return GetResult(genres, query);
} }
@ -303,13 +303,13 @@ namespace MediaBrowser.Controller.Entities
var list = new List<BaseItem> var list = new List<BaseItem>
{ {
GetUserView(CollectionType.TvResume, "HeaderContinueWatching", "0", parent), GetUserView(CollectionType.tvresume, "HeaderContinueWatching", "0", parent),
GetUserView(CollectionType.TvNextUp, "HeaderNextUp", "1", parent), GetUserView(CollectionType.tvnextup, "HeaderNextUp", "1", parent),
GetUserView(CollectionType.TvLatest, "Latest", "2", parent), GetUserView(CollectionType.tvlatest, "Latest", "2", parent),
GetUserView(CollectionType.TvShowSeries, "Shows", "3", parent), GetUserView(CollectionType.tvshowseries, "Shows", "3", parent),
GetUserView(CollectionType.TvFavoriteSeries, "HeaderFavoriteShows", "4", parent), GetUserView(CollectionType.tvfavoriteseries, "HeaderFavoriteShows", "4", parent),
GetUserView(CollectionType.TvFavoriteEpisodes, "HeaderFavoriteEpisodes", "5", parent), GetUserView(CollectionType.tvfavoriteepisodes, "HeaderFavoriteEpisodes", "5", parent),
GetUserView(CollectionType.TvGenres, "Genres", "6", parent) GetUserView(CollectionType.tvgenres, "Genres", "6", parent)
}; };
return GetResult(list, query); return GetResult(list, query);
@ -330,7 +330,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetTvNextUp(Folder parent, InternalItemsQuery query) private QueryResult<BaseItem> GetTvNextUp(Folder parent, InternalItemsQuery query)
{ {
var parentFolders = GetMediaFolders(parent, query.User, new[] { CollectionType.TvShows }); var parentFolders = GetMediaFolders(parent, query.User, new[] { CollectionType.tvshows });
var result = _tvSeriesManager.GetNextUp( var result = _tvSeriesManager.GetNextUp(
new NextUpQuery new NextUpQuery
@ -392,7 +392,7 @@ namespace MediaBrowser.Controller.Entities
} }
}) })
.Where(i => i is not null) .Where(i => i is not null)
.Select(i => GetUserViewWithName(CollectionType.TvGenre, i.SortName, parent)); .Select(i => GetUserViewWithName(CollectionType.tvgenre, i.SortName, parent));
return GetResult(genres, query); return GetResult(genres, query);
} }

@ -63,7 +63,7 @@ public class AudioResolverTests
null, null,
Mock.Of<ILibraryManager>()) Mock.Of<ILibraryManager>())
{ {
CollectionType = CollectionType.Books, CollectionType = CollectionType.books,
FileInfo = new FileSystemMetadata FileInfo = new FileSystemMetadata
{ {
FullName = parent, FullName = parent,

@ -29,7 +29,7 @@ namespace Jellyfin.Server.Implementations.Tests.Library
null) null)
{ {
Parent = parent, Parent = parent,
CollectionType = CollectionType.TvShows, CollectionType = CollectionType.tvshows,
FileInfo = new FileSystemMetadata FileInfo = new FileSystemMetadata
{ {
FullName = "All My Children/Season 01/Extras/All My Children S01E01 - Behind The Scenes.mkv" FullName = "All My Children/Season 01/Extras/All My Children S01E01 - Behind The Scenes.mkv"
@ -52,7 +52,7 @@ namespace Jellyfin.Server.Implementations.Tests.Library
null) null)
{ {
Parent = series, Parent = series,
CollectionType = CollectionType.TvShows, CollectionType = CollectionType.tvshows,
FileInfo = new FileSystemMetadata FileInfo = new FileSystemMetadata
{ {
FullName = "Extras/Extras S01E01.mkv" FullName = "Extras/Extras S01E01.mkv"

Loading…
Cancel
Save