mirror of
https://github.com/nextcloud/server.git
synced 2026-02-18 18:28:50 -05:00
Add a guard to check that trashbin folder is a folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
ecbcfca98a
commit
7fa8b2eef7
1 changed files with 8 additions and 1 deletions
|
|
@ -27,8 +27,10 @@ declare(strict_types=1);
|
|||
namespace OCA\Files_Trashbin\UserMigration;
|
||||
|
||||
use OCA\Files_Trashbin\AppInfo\Application;
|
||||
use OCP\Files\Folder;
|
||||
use OCP\Files\IRootFolder;
|
||||
use OCP\Files\NotFoundException;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IUser;
|
||||
use OCP\UserMigration\IExportDestination;
|
||||
use OCP\UserMigration\IImportSource;
|
||||
|
|
@ -36,7 +38,6 @@ use OCP\UserMigration\IMigrator;
|
|||
use OCP\UserMigration\TMigratorBasicVersionHandling;
|
||||
use OCP\UserMigration\UserMigrationException;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use OCP\IDBConnection;
|
||||
|
||||
class TrashbinMigrator implements IMigrator {
|
||||
|
||||
|
|
@ -67,6 +68,9 @@ class TrashbinMigrator implements IMigrator {
|
|||
|
||||
try {
|
||||
$trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin');
|
||||
if (!$trashbinFolder instanceof Folder) {
|
||||
throw new UserMigrationException('Could not export trashbin, /'.$uid.'/files_trashbin is not a folder');
|
||||
}
|
||||
$output->writeln("Exporting trashbin files…");
|
||||
if ($exportDestination->copyFolder($trashbinFolder, static::PATH_FILES_FOLDER) === false) {
|
||||
throw new UserMigrationException("Could not export trashbin.");
|
||||
|
|
@ -96,6 +100,9 @@ class TrashbinMigrator implements IMigrator {
|
|||
if ($importSource->pathExists(static::PATH_FILES_FOLDER)) {
|
||||
try {
|
||||
$trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin');
|
||||
if (!$trashbinFolder instanceof Folder) {
|
||||
throw new UserMigrationException('Could not import trashbin, /'.$uid.'/files_trashbin is not a folder');
|
||||
}
|
||||
} catch (NotFoundException $e) {
|
||||
$trashbinFolder = $this->root->newFolder('/'.$uid.'/files_trashbin');
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue