Merge branch 'release/rc-v1.2.0' of github.com:ONLYOFFICE/DocSpace into release/rc-v1.2.0

This commit is contained in:
Maksim Chegulov 2023-01-19 12:15:27 +03:00
commit aee1134ca1

View File

@ -410,28 +410,36 @@ class FileMoveCopyOperation<T> : FileOperation<FileMoveCopyOperationData<T>, T>
}
else
{
if (isRoom && toFolder.FolderType == FolderType.VirtualRooms)
try
{
await _semaphore.WaitAsync();
await countRoomChecker.CheckAppend();
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
_semaphore.Release();
}
else if (isRoom && toFolder.FolderType == FolderType.Archive)
{
await _semaphore.WaitAsync();
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
var pins = await TagDao.GetTagsAsync(Guid.Empty, TagType.Pin, new List<FileEntry<T>> { folder }).ToListAsync();
if (pins.Count > 0)
if (isRoom && toFolder.FolderType == FolderType.VirtualRooms)
{
await TagDao.RemoveTags(pins);
await _semaphore.WaitAsync();
await countRoomChecker.CheckAppend();
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
}
else if (isRoom && toFolder.FolderType == FolderType.Archive)
{
await _semaphore.WaitAsync();
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
var pins = await TagDao.GetTagsAsync(Guid.Empty, TagType.Pin, new List<FileEntry<T>> { folder }).ToListAsync();
if (pins.Count > 0)
{
await TagDao.RemoveTags(pins);
}
}
else
{
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
}
_semaphore.Release();
}
else
catch(Exception)
{
newFolderId = await FolderDao.MoveFolderAsync(folder.Id, toFolderId, CancellationToken);
throw;
}
finally
{
_semaphore.Release();
}
}