|
|
|
@ -81,6 +81,7 @@ namespace Jellyfin.Server.Migrations.Routines
|
|
|
|
|
{ "unstable", ChromecastVersion.Unstable }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var customDisplayPrefs = new HashSet<string>();
|
|
|
|
|
var dbFilePath = Path.Combine(_paths.DataPath, DbFilename);
|
|
|
|
|
using (var connection = SQLite3.Open(dbFilePath, ConnectionFlags.ReadOnly, null))
|
|
|
|
|
{
|
|
|
|
@ -185,7 +186,13 @@ namespace Jellyfin.Server.Migrations.Routines
|
|
|
|
|
|
|
|
|
|
foreach (var (key, value) in dto.CustomPrefs)
|
|
|
|
|
{
|
|
|
|
|
dbContext.Add(new CustomItemDisplayPreferences(displayPreferences.UserId, itemId, displayPreferences.Client, key, value));
|
|
|
|
|
// Custom display preferences can have a key collision.
|
|
|
|
|
var indexKey = $"{displayPreferences.UserId}|{itemId}|{displayPreferences.Client}|{key}";
|
|
|
|
|
if (!customDisplayPrefs.Contains(indexKey))
|
|
|
|
|
{
|
|
|
|
|
dbContext.Add(new CustomItemDisplayPreferences(displayPreferences.UserId, itemId, displayPreferences.Client, key, value));
|
|
|
|
|
customDisplayPrefs.Add(indexKey);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dbContext.Add(displayPreferences);
|
|
|
|
|