Merge pull request #17576 from obiwantoby/perf/batch-mediasourcecount-dto

Bugfix: #17547 | Batching MediaSourceCount into one call
This commit is contained in:
Cody Robibero
2026-08-10 16:15:54 -04:00
committed by GitHub
6 changed files with 164 additions and 12 deletions
@@ -255,6 +255,14 @@ namespace MediaBrowser.Controller.Library
/// <returns>Enumerable of linked Video items.</returns>
IEnumerable<Video> GetLinkedAlternateVersions(Video video);
/// <summary>
/// Gets, in a single query, the subset of the supplied items that own at least one alternate
/// version (local or linked). Items absent from the result have no alternate versions.
/// </summary>
/// <param name="itemIds">The item IDs to check.</param>
/// <returns>The set of item IDs that have alternate versions.</returns>
IReadOnlySet<Guid> GetItemIdsWithAlternateVersions(IReadOnlyList<Guid> itemIds);
/// <summary>
/// Creates or updates a LinkedChild entry linking a parent to a child item.
/// </summary>
@@ -19,6 +19,15 @@ public interface ILinkedChildrenService
/// <returns>List of child item IDs.</returns>
IReadOnlyList<Guid> GetLinkedChildrenIds(Guid parentId, int? childType = null);
/// <summary>
/// Gets, in a single query, the subset of the supplied items that own at least one alternate
/// version (local or linked). Items absent from the result have no alternate versions, so their
/// media source count is one.
/// </summary>
/// <param name="itemIds">The item IDs to check.</param>
/// <returns>The set of item IDs that have alternate versions.</returns>
IReadOnlySet<Guid> GetItemIdsWithAlternateVersions(IReadOnlyList<Guid> itemIds);
/// <summary>
/// Gets all artist matches from the database.
/// </summary>