aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2025-01-15 20:12:41 +0000
committerJPVenson <github@jpb.email>2025-01-15 20:12:41 +0000
commitb33810534b85f96702035a54a4c661cc4d31d928 (patch)
treea8d7007df3bd8c65b2d268adc6d2e0033ac27435 /Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
parentd716a53ec2433c6af43dfbce7f92fc9c2927592a (diff)
Applied review comments
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.cs')
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs19
1 files changed, 10 insertions, 9 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index 01e23f56d..1eca0713d 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -125,7 +125,7 @@ public sealed class BaseItemRepository
transaction.Commit();
}
- /// <inheritdoc cref="IItemRepository"/>
+ /// <inheritdoc />
public IReadOnlyList<Guid> GetItemIdsList(InternalItemsQuery filter)
{
ArgumentNullException.ThrowIfNull(filter);
@@ -201,7 +201,7 @@ public sealed class BaseItemRepository
_itemTypeLookup.MusicGenreTypes);
}
- /// <inheritdoc cref="IItemRepository"/>
+ /// <inheritdoc />
public QueryResult<BaseItemDto> GetItems(InternalItemsQuery filter)
{
ArgumentNullException.ThrowIfNull(filter);
@@ -235,7 +235,7 @@ public sealed class BaseItemRepository
return result;
}
- /// <inheritdoc cref="IItemRepository"/>
+ /// <inheritdoc />
public IReadOnlyList<BaseItemDto> GetItemList(InternalItemsQuery filter)
{
ArgumentNullException.ThrowIfNull(filter);
@@ -354,12 +354,14 @@ public sealed class BaseItemRepository
{
ArgumentException.ThrowIfNullOrEmpty(typeName);
+ // TODO: this isn't great. Refactor later to be both globally handled by a dedicated service not just an static variable and be loaded eagar.
+ // currently this is done so that plugins may introduce their own type of baseitems as we dont know when we are first called, before or after plugins are loaded
return _typeMap.GetOrAdd(typeName, k => AppDomain.CurrentDomain.GetAssemblies()
.Select(a => a.GetType(k))
.FirstOrDefault(t => t is not null));
}
- /// <inheritdoc cref="IItemRepository" />
+ /// <inheritdoc />
public void SaveImages(BaseItemDto item)
{
ArgumentNullException.ThrowIfNull(item);
@@ -373,13 +375,13 @@ public sealed class BaseItemRepository
transaction.Commit();
}
- /// <inheritdoc cref="IItemRepository" />
+ /// <inheritdoc />
public void SaveItems(IReadOnlyList<BaseItemDto> items, CancellationToken cancellationToken)
{
UpdateOrInsertItems(items, cancellationToken);
}
- /// <inheritdoc cref="IItemRepository" />
+ /// <inheritdoc />
public void UpdateOrInsertItems(IReadOnlyList<BaseItemDto> items, CancellationToken cancellationToken)
{
ArgumentNullException.ThrowIfNull(items);
@@ -479,7 +481,7 @@ public sealed class BaseItemRepository
transaction.Commit();
}
- /// <inheritdoc cref="IItemRepository" />
+ /// <inheritdoc />
public BaseItemDto? RetrieveItem(Guid id)
{
if (id.IsEmpty())
@@ -890,8 +892,7 @@ public sealed class BaseItemRepository
{
try
{
- using var dataAsStream = new MemoryStream(Encoding.UTF8.GetBytes(baseItemEntity.Data!));
- dto = JsonSerializer.Deserialize(dataAsStream, type, JsonDefaults.Options) as BaseItemDto;
+ dto = JsonSerializer.Deserialize(baseItemEntity.Data, type, JsonDefaults.Options) as BaseItemDto;
}
catch (JsonException ex)
{