mirror of https://github.com/jellyfin/jellyfin.git
Remove setting from existing libraries with a migration
This commit is contained in:
parent
103d503c15
commit
d6a04fd406
|
@ -23,7 +23,8 @@ namespace Jellyfin.Server.Migrations
|
||||||
typeof(Routines.AddDefaultPluginRepository),
|
typeof(Routines.AddDefaultPluginRepository),
|
||||||
typeof(Routines.MigrateUserDb),
|
typeof(Routines.MigrateUserDb),
|
||||||
typeof(Routines.ReaddDefaultPluginRepository),
|
typeof(Routines.ReaddDefaultPluginRepository),
|
||||||
typeof(Routines.MigrateDisplayPreferencesDb)
|
typeof(Routines.MigrateDisplayPreferencesDb),
|
||||||
|
typeof(Routines.RemoveDownloadImagesInAdvance)
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
using System;
|
||||||
|
using MediaBrowser.Controller.Entities;
|
||||||
|
using MediaBrowser.Controller.Library;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
namespace Jellyfin.Server.Migrations.Routines
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Removes the old 'RemoveDownloadImagesInAdvance' from library options.
|
||||||
|
/// </summary>
|
||||||
|
internal class RemoveDownloadImagesInAdvance : IMigrationRoutine
|
||||||
|
{
|
||||||
|
private readonly ILogger<RemoveDownloadImagesInAdvance> _logger;
|
||||||
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
||||||
|
public RemoveDownloadImagesInAdvance(ILogger<RemoveDownloadImagesInAdvance> logger, ILibraryManager libraryManager)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_libraryManager = libraryManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public Guid Id => Guid.Parse("{A81F75E0-8F43-416F-A5E8-516CCAB4D8CC}");
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public string Name => "RemoveDownloadImagesInAdvance";
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public bool PerformOnNewInstall => false;
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void Perform()
|
||||||
|
{
|
||||||
|
var virtual_folders = _libraryManager.GetVirtualFolders(false);
|
||||||
|
_logger.LogInformation("Removing 'RemoveDownloadImagesInAdvance' settings in all the libraries");
|
||||||
|
foreach (var virtual_folder in virtual_folders)
|
||||||
|
{
|
||||||
|
var library_options = virtual_folder.LibraryOptions;
|
||||||
|
var collectionFolder = (CollectionFolder)_libraryManager.GetItemById(virtual_folder.ItemId);
|
||||||
|
// The property no longer exists in LibraryOptions, so we just re-save the options to get old data removed.
|
||||||
|
collectionFolder.UpdateLibraryOptions(library_options);
|
||||||
|
_logger.LogInformation("Removed from '{VirtualFolder}'", virtual_folder.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue