mirror of
https://github.com/nextcloud/server.git
synced 2026-06-29 12:24:50 +02: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:
@@ -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');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user