Przeglądaj źródła

Update /Device endpoint to return CustomName

LJQ 1 rok temu
rodzic
commit
259fe4522c

+ 9 - 1
Jellyfin.Server.Implementations/Devices/DeviceManager.cs

@@ -177,7 +177,7 @@ namespace Jellyfin.Server.Implementations.Devices
                     .OrderByDescending(d => d.DateLastActivity)
                     .ThenBy(d => d.DeviceId)
                     .AsAsyncEnumerable();
-
+                IAsyncEnumerable<DeviceOptions> deviceOptions = dbContext.DeviceOptions.AsAsyncEnumerable();
                 if (supportsSync.HasValue)
                 {
                     sessions = sessions.Where(i => GetCapabilities(i.DeviceId).SupportsSync == supportsSync.Value);
@@ -195,6 +195,14 @@ namespace Jellyfin.Server.Implementations.Devices
                 }
 
                 var array = await sessions.Select(device => ToDeviceInfo(device)).ToArrayAsync().ConfigureAwait(false);
+                await foreach (var deviceOption in deviceOptions)
+                {
+                    var deviceInfo = array.FirstOrDefault(d => d.Id.Equals(deviceOption.DeviceId, StringComparison.OrdinalIgnoreCase));
+                    if (deviceInfo != null)
+                    {
+                        deviceInfo.CustomName = deviceOption.CustomName;
+                    }
+                }
 
                 return new QueryResult<DeviceInfo>(array);
             }

+ 2 - 0
MediaBrowser.Model/Devices/DeviceInfo.cs

@@ -15,6 +15,8 @@ namespace MediaBrowser.Model.Devices
 
         public string Name { get; set; }
 
+        public string CustomName { get; set; }
+
         /// <summary>
         /// Gets or sets the access token.
         /// </summary>