diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-03 13:26:30 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-03 13:26:30 +0200 |
| commit | 00b08c0b32b3c8fa36330d72e4a25c7b157de4e3 (patch) | |
| tree | e8e0ddd86abc0d3f4867a0e05d77f7d9b4664861 /MediaBrowser.Controller/Persistence | |
| parent | 0183127d2a92d5de4bf6a4abb69a926ab02ad8d0 (diff) | |
Omit BoxSet related materialization
Diffstat (limited to 'MediaBrowser.Controller/Persistence')
| -rw-r--r-- | MediaBrowser.Controller/Persistence/IItemQueryHelpers.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Persistence/IItemQueryHelpers.cs b/MediaBrowser.Controller/Persistence/IItemQueryHelpers.cs index 45fa92c90b..2e29cbdbba 100644 --- a/MediaBrowser.Controller/Persistence/IItemQueryHelpers.cs +++ b/MediaBrowser.Controller/Persistence/IItemQueryHelpers.cs @@ -79,6 +79,19 @@ public interface IItemQueryHelpers Guid ancestorId); /// <summary> + /// Builds an <see cref="IQueryable{Guid}"/> of folder IDs whose descendants are all played + /// for the given user. Composable into outer queries to avoid an extra DB roundtrip. + /// </summary> + /// <param name="context">The database context the resulting query is bound to.</param> + /// <param name="folderIds">A query yielding candidate folder IDs.</param> + /// <param name="user">The user for access filtering and played status.</param> + /// <returns>An <see cref="IQueryable{Guid}"/> of fully-played folder IDs.</returns> + IQueryable<Guid> GetFullyPlayedFolderIdsQuery( + JellyfinDbContext context, + IQueryable<Guid> folderIds, + User user); + + /// <summary> /// Deserializes a <see cref="BaseItemEntity"/> into a <see cref="BaseItem"/>. /// </summary> /// <param name="entity">The database entity.</param> |
