mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fix ExcludeItemId, ExcludeProviderIds and HasAnyProviderId filter (#14249)
This commit is contained in:
parent
a8601b3797
commit
7aee5b1e70
@ -2145,17 +2145,19 @@ public sealed class BaseItemRepository
|
|||||||
if (filter.ExcludeItemIds.Length > 0)
|
if (filter.ExcludeItemIds.Length > 0)
|
||||||
{
|
{
|
||||||
baseQuery = baseQuery
|
baseQuery = baseQuery
|
||||||
.Where(e => !filter.ItemIds.Contains(e.Id));
|
.Where(e => !filter.ExcludeItemIds.Contains(e.Id));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filter.ExcludeProviderIds is not null && filter.ExcludeProviderIds.Count > 0)
|
if (filter.ExcludeProviderIds is not null && filter.ExcludeProviderIds.Count > 0)
|
||||||
{
|
{
|
||||||
baseQuery = baseQuery.Where(e => !e.Provider!.All(f => !filter.ExcludeProviderIds.All(w => f.ProviderId == w.Key && f.ProviderValue == w.Value)));
|
var exclude = filter.ExcludeProviderIds.Select(e => $"{e.Key}:{e.Value}").ToArray();
|
||||||
|
baseQuery = baseQuery.Where(e => e.Provider!.Select(f => f.ProviderId + ":" + f.ProviderValue)!.All(f => !exclude.Contains(f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filter.HasAnyProviderId is not null && filter.HasAnyProviderId.Count > 0)
|
if (filter.HasAnyProviderId is not null && filter.HasAnyProviderId.Count > 0)
|
||||||
{
|
{
|
||||||
baseQuery = baseQuery.Where(e => e.Provider!.Any(f => !filter.HasAnyProviderId.Any(w => f.ProviderId == w.Key && f.ProviderValue == w.Value)));
|
var include = filter.HasAnyProviderId.Select(e => $"{e.Key}:{e.Value}").ToArray();
|
||||||
|
baseQuery = baseQuery.Where(e => e.Provider!.Select(f => f.ProviderId + ":" + f.ProviderValue)!.Any(f => include.Contains(f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filter.HasImdbId.HasValue)
|
if (filter.HasImdbId.HasValue)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user