aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2020-07-17 19:36:55 -0400
committerPatrick Barron <barronpm@gmail.com>2020-07-17 19:36:55 -0400
commit27eefd49f1011a9be3be4f18069942cd484c1530 (patch)
tree3358c7be20802ddff3cdbe9d73eddc4a43bf6932
parentd8060849376ae8e1cf309b04e01a24bdc6089c58 (diff)
Add missing fields
-rw-r--r--Jellyfin.Data/Entities/DisplayPreferences.cs32
-rw-r--r--Jellyfin.Data/Enums/ChromecastVersion.cs18
-rw-r--r--Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.Designer.cs (renamed from Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.Designer.cs)21
-rw-r--r--Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.cs (renamed from Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.cs)13
-rw-r--r--Jellyfin.Server.Implementations/Migrations/JellyfinDbModelSnapshot.cs15
-rw-r--r--MediaBrowser.Api/DisplayPreferencesService.cs8
6 files changed, 95 insertions, 12 deletions
diff --git a/Jellyfin.Data/Entities/DisplayPreferences.cs b/Jellyfin.Data/Entities/DisplayPreferences.cs
index 6cefda788..bcb872db3 100644
--- a/Jellyfin.Data/Entities/DisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/DisplayPreferences.cs
@@ -136,6 +136,38 @@ namespace Jellyfin.Data.Entities
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>
public virtual ICollection<HomeSection> HomeSections { get; protected set; }
diff --git a/Jellyfin.Data/Enums/ChromecastVersion.cs b/Jellyfin.Data/Enums/ChromecastVersion.cs
new file mode 100644
index 000000000..c549b6acc
--- /dev/null
+++ b/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
+ }
+}
diff --git a/Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.Designer.cs b/Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.Designer.cs
index 75f9bb7a3..cf6b16617 100644
--- a/Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.Designer.cs
+++ b/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");
diff --git a/Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.cs b/Jellyfin.Server.Implementations/Migrations/20200717233541_AddDisplayPreferences.cs
index e9a493d9d..3cfd02e07 100644
--- a/Jellyfin.Server.Implementations/Migrations/20200630170339_AddDisplayPreferences.cs
+++ b/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 =>
{
diff --git a/Jellyfin.Server.Implementations/Migrations/JellyfinDbModelSnapshot.cs b/Jellyfin.Server.Implementations/Migrations/JellyfinDbModelSnapshot.cs
index 69b544e5b..76de592ac 100644
--- a/Jellyfin.Server.Implementations/Migrations/JellyfinDbModelSnapshot.cs
+++ b/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");
diff --git a/MediaBrowser.Api/DisplayPreferencesService.cs b/MediaBrowser.Api/DisplayPreferencesService.cs
index 5352bb36e..877b124be 100644
--- a/MediaBrowser.Api/DisplayPreferencesService.cs
+++ b/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")))