|
|
@ -179,8 +179,22 @@ public class LibraryStructureController : BaseJellyfinApiController
|
|
|
|
// No need to start if scanning the library because it will handle it
|
|
|
|
// No need to start if scanning the library because it will handle it
|
|
|
|
if (refreshLibrary)
|
|
|
|
if (refreshLibrary)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
await _libraryManager.ValidateTopLibraryFolders(CancellationToken.None, true).ConfigureAwait(false);
|
|
|
|
|
|
|
|
var newLib = _libraryManager.GetUserRootFolder().Children.FirstOrDefault(f => f.Path.Equals(newPath, StringComparison.OrdinalIgnoreCase));
|
|
|
|
|
|
|
|
if (newLib is CollectionFolder folder)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
foreach (var child in folder.GetPhysicalFolders())
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
await child.RefreshMetadata(CancellationToken.None).ConfigureAwait(false);
|
|
|
|
|
|
|
|
await child.ValidateChildren(new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// We don't know if this one can be validated individually, trigger a new validation
|
|
|
|
await _libraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
|
|
|
|
await _libraryManager.ValidateMediaLibrary(new Progress<double>(), CancellationToken.None).ConfigureAwait(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Need to add a delay here or directory watchers may still pick up the changes
|
|
|
|
// Need to add a delay here or directory watchers may still pick up the changes
|
|
|
|