diff --git a/products/ASC.Files/Core/Core/FileStorageService.cs b/products/ASC.Files/Core/Core/FileStorageService.cs index 4352145de9..a1d3f1fcbf 100644 --- a/products/ASC.Files/Core/Core/FileStorageService.cs +++ b/products/ASC.Files/Core/Core/FileStorageService.cs @@ -2764,22 +2764,19 @@ public class FileStorageService //: IFileStorageService { FileEntry file; var fileDao = GetFileDao(); + file = await fileDao.GetFileAsync(fileId); ErrorIf(file == null, FilesCommonResource.ErrorMassage_FileNotFound); - var usersIdWithAccess = new List(); - if (await _fileSharing.CanSetAccessAsync(file)) - { - var access = await _fileSharing.GetSharedInfoAsync(file); - usersIdWithAccess = access.Where(aceWrapper => !aceWrapper.SubjectGroup && aceWrapper.Access != FileShare.Restrict) + var folderDao = GetFolderDao(); + + var (roomId, _) = await folderDao.GetParentRoomInfoFromFileEntryAsync(file); + + var access = await _fileSharing.GetSharedInfoAsync(Enumerable.Empty(), new[] { roomId }); + var usersIdWithAccess = access.Where(aceWrapper => !aceWrapper.SubjectGroup && aceWrapper.Access != FileShare.Restrict) .Select(aceWrapper => aceWrapper.Id) .ToList(); - } - else - { - usersIdWithAccess.Add(file.CreateBy); - } var users = _userManager.GetUsersByGroup(Constants.GroupEveryone.ID) .Where(user => !user.Id.Equals(_authContext.CurrentAccount.ID)