diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-30 19:07:18 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-05-30 19:09:11 +0200 |
| commit | a479e145dc1b31c0babd27994122dde0dbc6e9cb (patch) | |
| tree | 8ccdb724ec610ea0ccbf5510b3b388a0c0e5c682 /MediaBrowser.Controller/Library/ISimilarItemsManager.cs | |
| parent | cb9d6e9884d3b952321736392801743198b0ccd9 (diff) | |
| parent | 99e9b2310f8a2c2a8bc630b31243df63507b1e17 (diff) | |
Merge remote-tracking branch 'upstream/master' into search-rebased
# Conflicts:
# Emby.Server.Implementations/Library/LibraryManager.cs
# Jellyfin.Server.Implementations/Item/PeopleRepository.cs
# MediaBrowser.Controller/Library/ILibraryManager.cs
# MediaBrowser.Controller/Persistence/IPeopleRepository.cs
Diffstat (limited to 'MediaBrowser.Controller/Library/ISimilarItemsManager.cs')
| -rw-r--r-- | MediaBrowser.Controller/Library/ISimilarItemsManager.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Library/ISimilarItemsManager.cs b/MediaBrowser.Controller/Library/ISimilarItemsManager.cs index 0ced6f71ee..36fa547eeb 100644 --- a/MediaBrowser.Controller/Library/ISimilarItemsManager.cs +++ b/MediaBrowser.Controller/Library/ISimilarItemsManager.cs @@ -6,6 +6,7 @@ using Jellyfin.Database.Implementations.Entities; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Dto; namespace MediaBrowser.Controller.Library; @@ -47,4 +48,23 @@ public interface ISimilarItemsManager int? limit, LibraryOptions? libraryOptions, CancellationToken cancellationToken); + + /// <summary> + /// Builds movie recommendations for a user: a mix of similar-items and person-based categories, + /// scheduled round-robin and capped to <paramref name="categoryLimit"/>. + /// </summary> + /// <param name="user">The user the recommendations are for. May be <see langword="null"/> for anonymous access.</param> + /// <param name="parentId">The library/folder to localize the search to. Pass <see cref="Guid.Empty"/> to use the root.</param> + /// <param name="categoryLimit">Maximum number of recommendation categories to return.</param> + /// <param name="itemLimit">Maximum number of items per category.</param> + /// <param name="dtoOptions">DTO options used when querying the library.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>The list of recommendation categories, ordered by <see cref="RecommendationType"/>.</returns> + Task<IReadOnlyList<SimilarItemsRecommendation>> GetMovieRecommendationsAsync( + User? user, + Guid parentId, + int categoryLimit, + int itemLimit, + DtoOptions dtoOptions, + CancellationToken cancellationToken); } |
