aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2024-11-13 10:07:45 +0000
committerJPVenson <github@jpb.email>2024-11-13 10:07:45 +0000
commit07455dfb4dd6f7b5743b1d1d00d018083d67ffff (patch)
tree00f99bb162a3fb3f8ed9840d4cfb4ab0a05dfe2e /Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
parent3b8e177ba816ff8f2713780801edd3366d96ab66 (diff)
Readded External fields on request
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.cs')
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs42
1 files changed, 23 insertions, 19 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index 878b4044c..e3070d0a2 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -200,15 +200,7 @@ public sealed class BaseItemRepository(
using var context = dbProvider.CreateDbContext();
- IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSingleQuery()
- .Include(e => e.TrailerTypes)
- .Include(e => e.Provider)
- .Include(e => e.LockedFields);
-
- if (filter.DtoOptions.EnableImages)
- {
- dbQuery = dbQuery.Include(e => e.Images);
- }
+ IQueryable<BaseItemEntity> dbQuery = PrepareItemQuery(context, filter);
dbQuery = TranslateQuery(dbQuery, context, filter);
dbQuery = dbQuery.Distinct();
@@ -232,15 +224,7 @@ public sealed class BaseItemRepository(
PrepareFilterQuery(filter);
using var context = dbProvider.CreateDbContext();
- IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSingleQuery()
- .Include(e => e.TrailerTypes)
- .Include(e => e.Provider)
- .Include(e => e.LockedFields);
-
- if (filter.DtoOptions.EnableImages)
- {
- dbQuery = dbQuery.Include(e => e.Images);
- }
+ IQueryable<BaseItemEntity> dbQuery = PrepareItemQuery(context, filter);
dbQuery = TranslateQuery(dbQuery, context, filter);
dbQuery = dbQuery.Distinct();
@@ -314,7 +298,27 @@ public sealed class BaseItemRepository(
dbQuery = dbQuery.Include(e => e.Images);
}
- return ApplyQueryFilter(dbQuery, context, filter);
+ 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;
}
/// <inheritdoc/>