Selaa lähdekoodia

Merge pull request #13616 from Lampan-git/fix_people_role

Include PeopleBaseItemMap in GetPeople to inlcude Role and SortOrder
Niels van Velzen 3 kuukautta sitten
vanhempi
sitoutus
8680170706

+ 9 - 0
Jellyfin.Server.Implementations/Item/PeopleRepository.cs

@@ -39,6 +39,12 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I
             dbQuery = dbQuery.Take(filter.Limit);
         }
 
+        // Include PeopleBaseItemMap
+        if (!filter.ItemId.IsEmpty())
+        {
+            dbQuery = dbQuery.Include(p => p.BaseItems!.Where(m => m.ItemId == filter.ItemId));
+        }
+
         return dbQuery.AsEnumerable().Select(Map).ToArray();
     }
 
@@ -93,10 +99,13 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I
 
     private PersonInfo Map(People people)
     {
+        var mapping = people.BaseItems?.FirstOrDefault();
         var personInfo = new PersonInfo()
         {
             Id = people.Id,
             Name = people.Name,
+            Role = mapping?.Role,
+            SortOrder = mapping?.SortOrder
         };
         if (Enum.TryParse<PersonKind>(people.PersonType, out var kind))
         {

+ 1 - 3
Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs

@@ -242,9 +242,7 @@ public class MigrateLibraryDb : IMigrationRoutine
             {
             }
 
-            if (reader.TryGetInt32(4, out var sortOrder))
-            {
-            }
+            int? sortOrder = reader.IsDBNull(4) ? null : reader.GetInt32(4);
 
             personCache.Items.Add(new PeopleBaseItemMap()
             {