Merge branch 'feature/EFUserData' of https://github.com/JPVenson/jellyfin into feature/EFUserData

This commit is contained in:
JPVenson 2024-11-13 10:43:11 +00:00
parent 4747edd635
commit 5fb4d6a169
4 changed files with 24 additions and 11 deletions

View File

@ -24,8 +24,5 @@
"hostRequirements": { "hostRequirements": {
"memory": "8gb", "memory": "8gb",
"cpus": 4 "cpus": 4
}, }
"mounts": [
"source=/opt/docker/data/jellyfin/config10.9.11/metadata/,target=/workspaces/jellyfin/TestData/metadata,type=bind,consistency=cached"
]
} }

2
.gitignore vendored
View File

@ -20,8 +20,6 @@ local.properties
.settings/ .settings/
.loadpath .loadpath
TestData
# External tool builders # External tool builders
.externalToolBuilders/ .externalToolBuilders/

2
.vscode/launch.json vendored
View File

@ -35,7 +35,7 @@
"request": "launch", "request": "launch",
"preLaunchTask": "build", "preLaunchTask": "build",
"program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net8.0/jellyfin.dll", "program": "${workspaceFolder}/Jellyfin.Server/bin/Debug/net8.0/jellyfin.dll",
"args": ["--nowebclient", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg", "--datadir", "/workspaces/jellyfin/TestData"], "args": ["--nowebclient", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"],
"cwd": "${workspaceFolder}/Jellyfin.Server", "cwd": "${workspaceFolder}/Jellyfin.Server",
"console": "internalConsole", "console": "internalConsole",
"stopAtEntry": false, "stopAtEntry": false,

View File

@ -32,7 +32,6 @@ using Microsoft.Extensions.Logging;
using BaseItemDto = MediaBrowser.Controller.Entities.BaseItem; using BaseItemDto = MediaBrowser.Controller.Entities.BaseItem;
using BaseItemEntity = Jellyfin.Data.Entities.BaseItemEntity; using BaseItemEntity = Jellyfin.Data.Entities.BaseItemEntity;
#pragma warning disable RS0030 // Do not use banned APIs #pragma warning disable RS0030 // Do not use banned APIs
#pragma warning disable CA1307 // Specify StringComparison for clarity
namespace Jellyfin.Server.Implementations.Item; namespace Jellyfin.Server.Implementations.Item;
@ -299,6 +298,26 @@ public sealed class BaseItemRepository(
dbQuery = dbQuery.Include(e => e.Images); dbQuery = dbQuery.Include(e => e.Images);
} }
if (filter.DtoOptions.ContainsField(ItemFields.MediaStreams))
{
dbQuery = dbQuery.Include(e => e.MediaStreams);
}
if (filter.DtoOptions.ContainsField(ItemFields.Chapters))
{
dbQuery = dbQuery.Include(e => e.Chapters);
}
if (filter.DtoOptions.ContainsField(ItemFields.People))
{
dbQuery = dbQuery.Include(e => e.Peoples);
}
if (filter.DtoOptions.ContainsField(ItemFields.SeasonUserData))
{
dbQuery = dbQuery.Include(e => e.UserData);
}
return dbQuery; return dbQuery;
} }
@ -315,6 +334,7 @@ public sealed class BaseItemRepository(
return dbQuery.Count(); return dbQuery.Count();
} }
#pragma warning disable CA1307 // Specify StringComparison for clarity
private IQueryable<BaseItemEntity> TranslateQuery( private IQueryable<BaseItemEntity> TranslateQuery(
IQueryable<BaseItemEntity> baseQuery, IQueryable<BaseItemEntity> baseQuery,
JellyfinDbContext context, JellyfinDbContext context,
@ -1343,9 +1363,7 @@ public sealed class BaseItemRepository(
.Include(e => e.TrailerTypes) .Include(e => e.TrailerTypes)
.Include(e => e.Provider) .Include(e => e.Provider)
.Include(e => e.Images) .Include(e => e.Images)
.Include(e => e.LockedFields) .Include(e => e.LockedFields).AsNoTracking().AsSingleQuery().FirstOrDefault(e => e.Id == id);
.AsNoTracking().AsSingleQuery().FirstOrDefault(e => e.Id == id);
if (item is null) if (item is null)
{ {
return null; return null;