Merge pull request #17337 from Shadowghost/limit-similar-items

This commit is contained in:
Bond-009
2026-07-17 13:49:46 +02:00
committed by GitHub
@@ -53,6 +53,7 @@ public sealed class MovieSimilarItemsProvider : ILocalSimilarItemsProvider<Movie
private readonly IDbContextFactory<JellyfinDbContext> _dbProvider; private readonly IDbContextFactory<JellyfinDbContext> _dbProvider;
private readonly IItemQueryHelpers _queryHelpers; private readonly IItemQueryHelpers _queryHelpers;
private readonly IServerConfigurationManager _serverConfigurationManager; private readonly IServerConfigurationManager _serverConfigurationManager;
private readonly ILibraryManager _libraryManager;
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="MovieSimilarItemsProvider"/> class. /// Initializes a new instance of the <see cref="MovieSimilarItemsProvider"/> class.
@@ -60,14 +61,17 @@ public sealed class MovieSimilarItemsProvider : ILocalSimilarItemsProvider<Movie
/// <param name="dbProvider">The database context factory.</param> /// <param name="dbProvider">The database context factory.</param>
/// <param name="queryHelpers">The shared query helpers.</param> /// <param name="queryHelpers">The shared query helpers.</param>
/// <param name="serverConfigurationManager">The server configuration manager.</param> /// <param name="serverConfigurationManager">The server configuration manager.</param>
/// <param name="libraryManager">The library manager.</param>
public MovieSimilarItemsProvider( public MovieSimilarItemsProvider(
IDbContextFactory<JellyfinDbContext> dbProvider, IDbContextFactory<JellyfinDbContext> dbProvider,
IItemQueryHelpers queryHelpers, IItemQueryHelpers queryHelpers,
IServerConfigurationManager serverConfigurationManager) IServerConfigurationManager serverConfigurationManager,
ILibraryManager libraryManager)
{ {
_dbProvider = dbProvider; _dbProvider = dbProvider;
_queryHelpers = queryHelpers; _queryHelpers = queryHelpers;
_serverConfigurationManager = serverConfigurationManager; _serverConfigurationManager = serverConfigurationManager;
_libraryManager = libraryManager;
} }
/// <inheritdoc/> /// <inheritdoc/>
@@ -156,6 +160,11 @@ public sealed class MovieSimilarItemsProvider : ILocalSimilarItemsProvider<Movie
IsPlayed = false IsPlayed = false
}; };
if (query.User is not null)
{
_libraryManager.ConfigureUserAccess(filter, query.User);
}
_queryHelpers.PrepareFilterQuery(filter); _queryHelpers.PrepareFilterQuery(filter);
var baseQuery = _queryHelpers.PrepareItemQuery(context, filter); var baseQuery = _queryHelpers.PrepareItemQuery(context, filter);
baseQuery = _queryHelpers.TranslateQuery(baseQuery, context, filter); baseQuery = _queryHelpers.TranslateQuery(baseQuery, context, filter);