diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Validators/UserViewPostScanTask.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Validators/UserViewPostScanTask.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/UserViewPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/UserViewPostScanTask.cs new file mode 100644 index 000000000..30ebcc3b8 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Library/Validators/UserViewPostScanTask.cs @@ -0,0 +1,35 @@ +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Library; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Server.Implementations.Library.Validators +{ + public class UserViewPostScanTask : ILibraryPostScanTask + { + private readonly IUserManager _userManager; + private readonly IUserViewManager _userViewManager; + + public UserViewPostScanTask(IUserManager userManager, IUserViewManager userViewManager) + { + _userManager = userManager; + _userViewManager = userViewManager; + } + + public async Task Run(IProgress<double> progress, CancellationToken cancellationToken) + { + foreach (var user in _userManager.Users) + { + foreach (var view in await _userViewManager.GetUserViews(new UserViewQuery + { + UserId = user.Id.ToString("N") + + }, cancellationToken).ConfigureAwait(false)) + { + await view.RefreshMetadata(cancellationToken).ConfigureAwait(false); + } + } + } + } +} |
