diff options
| author | Bond-009 <bond.009@outlook.com> | 2026-05-27 20:59:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-27 20:59:18 +0200 |
| commit | 2f17516d4bd8700e4a66f609b9c5fac835020407 (patch) | |
| tree | b26176e8adf7f6d56cd5a002fdc37b63800cf71a /MediaBrowser.Controller/Library/ISimilarItemsManager.cs | |
| parent | cbd0c5b8417e42f072007194d204ff711b11ff1a (diff) | |
| parent | 5ed3ffdb42cde2ddb45d0ca55d84d885d877d2a9 (diff) | |
Fix movie recommendations
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); } |
