aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-05-06 20:49:19 +0200
committerGitHub <noreply@github.com>2026-05-06 20:49:19 +0200
commit33ed52b8ee25e1fae4763a26337b838dc9782b26 (patch)
treeee68da202f604eef267254ea8c689965098b1c3e /MediaBrowser.Controller/Entities/InternalItemsQuery.cs
parentaa96ff42e616ecf5638a8f1e2e8459b94513c528 (diff)
parentd1ab428476f961426841a0561036c59c3b93878e (diff)
Merge branch 'master' into feature/season-provider-id-from-path
Diffstat (limited to 'MediaBrowser.Controller/Entities/InternalItemsQuery.cs')
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs87
1 files changed, 54 insertions, 33 deletions
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index ecbeefbb9d..fa82ea8663 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -18,42 +18,45 @@ namespace MediaBrowser.Controller.Entities
{
public InternalItemsQuery()
{
- AlbumArtistIds = Array.Empty<Guid>();
- AlbumIds = Array.Empty<Guid>();
- AncestorIds = Array.Empty<Guid>();
- ArtistIds = Array.Empty<Guid>();
- BlockUnratedItems = Array.Empty<UnratedItem>();
- BoxSetLibraryFolders = Array.Empty<Guid>();
- ChannelIds = Array.Empty<Guid>();
- ContributingArtistIds = Array.Empty<Guid>();
+ AlbumArtistIds = [];
+ AlbumIds = [];
+ AncestorIds = [];
+ ArtistIds = [];
+ BlockUnratedItems = [];
+ BoxSetLibraryFolders = [];
+ ChannelIds = [];
+ ContributingArtistIds = [];
DtoOptions = new DtoOptions();
EnableTotalRecordCount = true;
- ExcludeArtistIds = Array.Empty<Guid>();
- ExcludeInheritedTags = Array.Empty<string>();
- IncludeInheritedTags = Array.Empty<string>();
- ExcludeItemIds = Array.Empty<Guid>();
- ExcludeItemTypes = Array.Empty<BaseItemKind>();
- ExcludeTags = Array.Empty<string>();
- GenreIds = Array.Empty<Guid>();
- Genres = Array.Empty<string>();
+ ExcludeArtistIds = [];
+ ExcludeInheritedTags = [];
+ IncludeInheritedTags = [];
+ ExcludeItemIds = [];
+ ExcludeItemTypes = [];
+ ExcludeTags = [];
+ GenreIds = [];
+ Genres = [];
GroupByPresentationUniqueKey = true;
- ImageTypes = Array.Empty<ImageType>();
- IncludeItemTypes = Array.Empty<BaseItemKind>();
- ItemIds = Array.Empty<Guid>();
- MediaTypes = Array.Empty<MediaType>();
- OfficialRatings = Array.Empty<string>();
- OrderBy = Array.Empty<(ItemSortBy, SortOrder)>();
- PersonIds = Array.Empty<Guid>();
- PersonTypes = Array.Empty<string>();
- PresetViews = Array.Empty<CollectionType?>();
- SeriesStatuses = Array.Empty<SeriesStatus>();
- SourceTypes = Array.Empty<SourceType>();
- StudioIds = Array.Empty<Guid>();
- Tags = Array.Empty<string>();
- TopParentIds = Array.Empty<Guid>();
- TrailerTypes = Array.Empty<TrailerType>();
- VideoTypes = Array.Empty<VideoType>();
- Years = Array.Empty<int>();
+ ImageTypes = [];
+ IncludeItemTypes = [];
+ ItemIds = [];
+ OwnerIds = [];
+ ExtraTypes = [];
+ MediaTypes = [];
+ OfficialRatings = [];
+ OrderBy = [];
+ OwnerIds = [];
+ PersonIds = [];
+ PersonTypes = [];
+ PresetViews = [];
+ SeriesStatuses = [];
+ SourceTypes = [];
+ StudioIds = [];
+ Tags = [];
+ TopParentIds = [];
+ TrailerTypes = [];
+ VideoTypes = [];
+ Years = [];
SkipDeserialization = false;
}
@@ -110,6 +113,12 @@ namespace MediaBrowser.Controller.Entities
public bool? CollapseBoxSetItems { get; set; }
+ /// <summary>
+ /// Gets or sets the item types that should be collapsed into box sets.
+ /// When empty, all types are collapsed. When set, only items of these types are replaced by their parent box set.
+ /// </summary>
+ public BaseItemKind[] CollapseBoxSetItemTypes { get; set; } = [];
+
public string? NameStartsWithOrGreater { get; set; }
public string? NameStartsWith { get; set; }
@@ -134,6 +143,10 @@ namespace MediaBrowser.Controller.Entities
public Guid[] ItemIds { get; set; }
+ public Guid[] OwnerIds { get; set; }
+
+ public ExtraType[] ExtraTypes { get; set; }
+
public Guid[] ExcludeItemIds { get; set; }
public Guid? AdjacentTo { get; set; }
@@ -348,6 +361,12 @@ namespace MediaBrowser.Controller.Entities
public bool? HasOwnerId { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether to include items with an OwnerId
+ /// (additional parts, alternate versions) that are normally excluded from general queries.
+ /// </summary>
+ public bool IncludeOwnedItems { get; set; }
+
public bool? Is4K { get; set; }
public int? MaxHeight { get; set; }
@@ -364,6 +383,8 @@ namespace MediaBrowser.Controller.Entities
public bool SkipDeserialization { get; set; }
+ public bool IncludeExtras { get; set; }
+
public void SetUser(User user)
{
var maxRating = user.MaxParentalRatingScore;