diff --git a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMarkAsReadOperation.cs b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMarkAsReadOperation.cs index cb238d88ef7..e6d9fe1a3b4 100644 --- a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMarkAsReadOperation.cs +++ b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileMarkAsReadOperation.cs @@ -67,15 +67,16 @@ protected override async Task DoJob(IServiceScope serviceScope) { var scopeClass = serviceScope.ServiceProvider.GetService(); var filesMessageService = serviceScope.ServiceProvider.GetRequiredService(); + var fileSecurity = serviceScope.ServiceProvider.GetRequiredService(); var (fileMarker, globalFolder, daoFactory, settingsManager) = scopeClass; var entries = Enumerable.Empty>(); if (Folders.Count > 0) { - entries = entries.Concat(await FolderDao.GetFoldersAsync(Folders).ToListAsync()); + entries = entries.Concat(await fileSecurity.CanReadAsync(FolderDao.GetFoldersAsync(Folders)).Where(r => r.Item2).Select(r => r.Item1).ToListAsync()); } if (Files.Count > 0) { - entries = entries.Concat(await FileDao.GetFilesAsync(Files).ToListAsync()); + entries = entries.Concat(await fileSecurity.CanReadAsync(FileDao.GetFilesAsync(Files)).Where(r => r.Item2).Select(r => r.Item1).ToListAsync()); } foreach (var entry in entries)