aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2024-10-11 11:11:15 +0000
committerJPVenson <github@jpb.email>2024-10-11 11:11:15 +0000
commitb73985e04f76924ec91692890687461bcfdb4e11 (patch)
tree4b309b212d86e03e9d74d9a2025a520018d7eb7f /Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
parentf397fc5b98468a370fb51696df608dfbb2f14213 (diff)
Expanded People architecture and fixed migration
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.cs')
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs9
1 files changed, 5 insertions, 4 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index 208bb4198..36d976a43 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -81,7 +81,8 @@ public sealed class BaseItemRepository(
using var context = dbProvider.CreateDbContext();
using var transaction = context.Database.BeginTransaction();
- context.Peoples.Where(e => e.ItemId == id).ExecuteDelete();
+ context.PeopleBaseItemMap.Where(e => e.ItemId == id).ExecuteDelete();
+ context.Peoples.Where(e => e.BaseItems!.Count == 0).ExecuteDelete();
context.Chapters.Where(e => e.ItemId == id).ExecuteDelete();
context.MediaStreamInfos.Where(e => e.ItemId == id).ExecuteDelete();
context.AncestorIds.Where(e => e.ItemId == id).ExecuteDelete();
@@ -602,13 +603,13 @@ public sealed class BaseItemRepository(
{
baseQuery = baseQuery
.Where(e =>
- context.Peoples.Where(w => context.BaseItems.Where(r => filter.PersonIds.Contains(r.Id)).Any(f => f.Name == w.Name))
+ context.PeopleBaseItemMap.Where(w => context.BaseItems.Where(r => filter.PersonIds.Contains(r.Id)).Any(f => f.Name == w.People.Name))
.Any(f => f.ItemId == e.Id));
}
if (!string.IsNullOrWhiteSpace(filter.Person))
{
- baseQuery = baseQuery.Where(e => e.Peoples!.Any(f => f.Name == filter.Person));
+ baseQuery = baseQuery.Where(e => e.Peoples!.Any(f => f.People.Name == filter.Person));
}
if (!string.IsNullOrWhiteSpace(filter.MinSortName))
@@ -934,7 +935,7 @@ public sealed class BaseItemRepository(
if (filter.IsDeadPerson.HasValue && filter.IsDeadPerson.Value)
{
baseQuery = baseQuery
- .Where(e => !e.Peoples!.Any(f => f.Name == e.Name));
+ .Where(e => !e.Peoples!.Any(f => f.People.Name == e.Name));
}
if (filter.Years.Length == 1)