Переглянути джерело

Reverted Primary Constructor

JPVenson 7 місяців тому
батько
коміт
9342a6a9d6

+ 28 - 14
Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs

@@ -13,17 +13,31 @@ using Microsoft.EntityFrameworkCore;
 namespace Jellyfin.Server.Implementations.Item;
 
 /// <summary>
-/// Initializes a new instance of the <see cref="MediaStreamRepository"/> class.
+/// Repository for obtaining MediaStreams.
 /// </summary>
-/// <param name="dbProvider">The EFCore db factory.</param>
-/// <param name="serverApplicationHost">The Application host.</param>
-/// <param name="localization">The Localisation Provider.</param>
-public class MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvider, IServerApplicationHost serverApplicationHost, ILocalizationManager localization) : IMediaStreamRepository
+public class MediaStreamRepository : IMediaStreamRepository
 {
+    private readonly IDbContextFactory<JellyfinDbContext> _dbProvider;
+    private readonly IServerApplicationHost _serverApplicationHost;
+    private readonly ILocalizationManager _localization;
+
+    /// <summary>
+    /// Initializes a new instance of the <see cref="MediaStreamRepository"/> class.
+    /// </summary>
+    /// <param name="dbProvider">The EFCore db factory.</param>
+    /// <param name="serverApplicationHost">The Application host.</param>
+    /// <param name="localization">The Localisation Provider.</param>
+    public MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvider, IServerApplicationHost serverApplicationHost, ILocalizationManager localization)
+    {
+        _dbProvider = dbProvider;
+        _serverApplicationHost = serverApplicationHost;
+        _localization = localization;
+    }
+
     /// <inheritdoc />
     public void SaveMediaStreams(Guid id, IReadOnlyList<MediaStream> streams, CancellationToken cancellationToken)
     {
-        using var context = dbProvider.CreateDbContext();
+        using var context = _dbProvider.CreateDbContext();
         using var transaction = context.Database.BeginTransaction();
 
         context.MediaStreamInfos.Where(e => e.ItemId.Equals(id)).ExecuteDelete();
@@ -36,7 +50,7 @@ public class MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvid
     /// <inheritdoc />
     public IReadOnlyList<MediaStream> GetMediaStreams(MediaStreamQuery filter)
     {
-        using var context = dbProvider.CreateDbContext();
+        using var context = _dbProvider.CreateDbContext();
         return TranslateQuery(context.MediaStreamInfos.AsNoTracking(), filter).AsEnumerable().Select(Map).ToImmutableArray();
     }
 
@@ -47,7 +61,7 @@ public class MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvid
             return null;
         }
 
-        return serverApplicationHost.ReverseVirtualPath(path);
+        return _serverApplicationHost.ReverseVirtualPath(path);
     }
 
     private string? RestorePath(string? path)
@@ -57,7 +71,7 @@ public class MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvid
             return null;
         }
 
-        return serverApplicationHost.ExpandVirtualPath(path);
+        return _serverApplicationHost.ExpandVirtualPath(path);
     }
 
     private IQueryable<MediaStreamInfo> TranslateQuery(IQueryable<MediaStreamInfo> query, MediaStreamQuery filter)
@@ -131,14 +145,14 @@ public class MediaStreamRepository(IDbContextFactory<JellyfinDbContext> dbProvid
 
         if (dto.Type is MediaStreamType.Audio or MediaStreamType.Subtitle)
         {
-            dto.LocalizedDefault = localization.GetLocalizedString("Default");
-            dto.LocalizedExternal = localization.GetLocalizedString("External");
+            dto.LocalizedDefault = _localization.GetLocalizedString("Default");
+            dto.LocalizedExternal = _localization.GetLocalizedString("External");
 
             if (dto.Type is MediaStreamType.Subtitle)
             {
-                dto.LocalizedUndefined = localization.GetLocalizedString("Undefined");
-                dto.LocalizedForced = localization.GetLocalizedString("Forced");
-                dto.LocalizedHearingImpaired = localization.GetLocalizedString("HearingImpaired");
+                dto.LocalizedUndefined = _localization.GetLocalizedString("Undefined");
+                dto.LocalizedForced = _localization.GetLocalizedString("Forced");
+                dto.LocalizedHearingImpaired = _localization.GetLocalizedString("HearingImpaired");
             }
         }