浏览代码

Add missing fields

Patrick Barron 5 年之前
父节点
当前提交
27eefd49f1

+ 32 - 0
Jellyfin.Data/Entities/DisplayPreferences.cs

@@ -135,6 +135,38 @@ namespace Jellyfin.Data.Entities
         /// </summary>
         public IndexingKind? IndexBy { get; set; }
 
+        /// <summary>
+        /// Gets or sets the length of time to skip forwards, in milliseconds.
+        /// </summary>
+        /// <remarks>
+        /// Required.
+        /// </remarks>
+        public int SkipForwardLength { get; set; }
+
+        /// <summary>
+        /// Gets or sets the length of time to skip backwards, in milliseconds.
+        /// </summary>
+        /// <remarks>
+        /// Required.
+        /// </remarks>
+        public int SkipBackwardLength { get; set; }
+
+        /// <summary>
+        /// Gets or sets the Chromecast Version.
+        /// </summary>
+        /// <remarks>
+        /// Required.
+        /// </remarks>
+        public ChromecastVersion ChromecastVersion { get; set; }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the next video info overlay should be shown.
+        /// </summary>
+        /// <remarks>
+        /// Required.
+        /// </remarks>
+        public bool EnableNextVideoInfoOverlay { get; set; }
+
         /// <summary>
         /// Gets or sets the home sections.
         /// </summary>

+ 18 - 0
Jellyfin.Data/Enums/ChromecastVersion.cs

@@ -0,0 +1,18 @@
+namespace Jellyfin.Data.Enums
+{
+    /// <summary>
+    /// An enum representing the version of Chromecast to be used by clients.
+    /// </summary>
+    public enum ChromecastVersion
+    {
+        /// <summary>
+        /// Stable Chromecast version.
+        /// </summary>
+        Stable,
+
+        /// <summary>
+        /// Nightly Chromecast version.
+        /// </summary>
+        Nightly
+    }
+}

+ 16 - 5
Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.Designer.cs → Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.Designer.cs

@@ -1,6 +1,4 @@
-#pragma warning disable CS1591
-
-// <auto-generated />
+// <auto-generated />
 using System;
 using Jellyfin.Server.Implementations;
 using Microsoft.EntityFrameworkCore;
@@ -11,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 namespace Jellyfin.Server.Implementations.Migrations
 {
     [DbContext(typeof(JellyfinDb))]
-    [Migration("20200630170339_AddDisplayPreferences")]
+    [Migration("20200717233541_AddDisplayPreferences")]
     partial class AddDisplayPreferences
     {
         protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -98,11 +96,17 @@ namespace Jellyfin.Server.Implementations.Migrations
                         .ValueGeneratedOnAdd()
                         .HasColumnType("INTEGER");
 
+                    b.Property<int>("ChromecastVersion")
+                        .HasColumnType("INTEGER");
+
                     b.Property<string>("Client")
                         .IsRequired()
                         .HasColumnType("TEXT")
                         .HasMaxLength(64);
 
+                    b.Property<bool>("EnableNextVideoInfoOverlay")
+                        .HasColumnType("INTEGER");
+
                     b.Property<int?>("IndexBy")
                         .HasColumnType("INTEGER");
 
@@ -124,8 +128,15 @@ namespace Jellyfin.Server.Implementations.Migrations
                     b.Property<bool>("ShowSidebar")
                         .HasColumnType("INTEGER");
 
+                    b.Property<int>("SkipBackwardLength")
+                        .HasColumnType("INTEGER");
+
+                    b.Property<int>("SkipForwardLength")
+                        .HasColumnType("INTEGER");
+
                     b.Property<string>("SortBy")
-                        .HasColumnType("TEXT");
+                        .HasColumnType("TEXT")
+                        .HasMaxLength(64);
 
                     b.Property<int>("SortOrder")
                         .HasColumnType("INTEGER");

+ 7 - 6
Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.cs → Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.cs

@@ -1,7 +1,4 @@
-#pragma warning disable CS1591
-#pragma warning disable SA1601
-
-using System;
+using System;
 using Microsoft.EntityFrameworkCore.Migrations;
 
 namespace Jellyfin.Server.Implementations.Migrations
@@ -25,10 +22,14 @@ namespace Jellyfin.Server.Implementations.Migrations
                     SortOrder = table.Column<int>(nullable: false),
                     ShowSidebar = table.Column<bool>(nullable: false),
                     ShowBackdrop = table.Column<bool>(nullable: false),
-                    SortBy = table.Column<string>(nullable: true),
+                    SortBy = table.Column<string>(maxLength: 64, nullable: true),
                     ViewType = table.Column<int>(nullable: true),
                     ScrollDirection = table.Column<int>(nullable: false),
-                    IndexBy = table.Column<int>(nullable: true)
+                    IndexBy = table.Column<int>(nullable: true),
+                    SkipForwardLength = table.Column<int>(nullable: false),
+                    SkipBackwardLength = table.Column<int>(nullable: false),
+                    ChromecastVersion = table.Column<int>(nullable: false),
+                    EnableNextVideoInfoOverlay = table.Column<bool>(nullable: false)
                 },
                 constraints: table =>
                 {

+ 14 - 1
Jellyfin.Server.Implementations/Migrations/JellyfinDbModelSnapshot.cs

@@ -94,11 +94,17 @@ namespace Jellyfin.Server.Implementations.Migrations
                         .ValueGeneratedOnAdd()
                         .HasColumnType("INTEGER");
 
+                    b.Property<int>("ChromecastVersion")
+                        .HasColumnType("INTEGER");
+
                     b.Property<string>("Client")
                         .IsRequired()
                         .HasColumnType("TEXT")
                         .HasMaxLength(64);
 
+                    b.Property<bool>("EnableNextVideoInfoOverlay")
+                        .HasColumnType("INTEGER");
+
                     b.Property<int?>("IndexBy")
                         .HasColumnType("INTEGER");
 
@@ -120,8 +126,15 @@ namespace Jellyfin.Server.Implementations.Migrations
                     b.Property<bool>("ShowSidebar")
                         .HasColumnType("INTEGER");
 
+                    b.Property<int>("SkipBackwardLength")
+                        .HasColumnType("INTEGER");
+
+                    b.Property<int>("SkipForwardLength")
+                        .HasColumnType("INTEGER");
+
                     b.Property<string>("SortBy")
-                        .HasColumnType("TEXT");
+                        .HasColumnType("TEXT")
+                        .HasMaxLength(64);
 
                     b.Property<int>("SortOrder")
                         .HasColumnType("INTEGER");

+ 8 - 0
MediaBrowser.Api/DisplayPreferencesService.cs

@@ -134,6 +134,14 @@ namespace MediaBrowser.Api
             prefs.RememberIndexing = request.RememberIndexing;
             prefs.RememberSorting = request.RememberSorting;
             prefs.ScrollDirection = request.ScrollDirection;
+            prefs.ChromecastVersion = request.CustomPrefs.TryGetValue("chromecastVersion", out var chromecastVersion)
+                ? Enum.Parse<ChromecastVersion>(chromecastVersion, true)
+                : ChromecastVersion.Stable;
+            prefs.EnableNextVideoInfoOverlay = request.CustomPrefs.TryGetValue("enableNextVideoInfoOverlay", out var enableNextVideoInfoOverlay)
+                ? bool.Parse(enableNextVideoInfoOverlay)
+                : true;
+            prefs.SkipBackwardLength = request.CustomPrefs.TryGetValue("skipBackLength", out var skipBackLength) ? int.Parse(skipBackLength) : 10000;
+            prefs.SkipForwardLength = request.CustomPrefs.TryGetValue("skipForwardLength", out var skipForwardLength) ? int.Parse(skipForwardLength) : 30000;
             prefs.HomeSections.Clear();
 
             foreach (var key in request.CustomPrefs.Keys.Where(key => key.StartsWith("homesection")))