diff options
author | Louis Chemineau <louis@chmn.me> | 2024-11-21 17:19:33 +0100 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2024-11-25 11:42:29 +0100 |
commit | 590b1e8698f459b00a98267ba65fa6825a7e0f8a (patch) | |
tree | 26137bf7077eb88745dfaf9e18c0849ee80cabb6 /core | |
parent | 16812837157395c078a9689cd51530a6382e17d2 (diff) | |
download | nextcloud-server-590b1e8698f459b00a98267ba65fa6825a7e0f8a.tar.gz nextcloud-server-590b1e8698f459b00a98267ba65fa6825a7e0f8a.zip |
feat: Warn about maintenance in EncryptAll commandartonge/feat/maintenance_warn_encrypt_all
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'core')
-rw-r--r-- | core/Command/Encryption/EncryptAll.php | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/core/Command/Encryption/EncryptAll.php b/core/Command/Encryption/EncryptAll.php index 868c240e26d..684591f4586 100644 --- a/core/Command/Encryption/EncryptAll.php +++ b/core/Command/Encryption/EncryptAll.php @@ -17,7 +17,6 @@ use Symfony\Component\Console\Question\ConfirmationQuestion; class EncryptAll extends Command { protected bool $wasTrashbinEnabled = false; - protected bool $wasMaintenanceModeEnabled = false; public function __construct( protected IManager $encryptionManager, @@ -33,7 +32,6 @@ class EncryptAll extends Command { */ protected function forceMaintenanceAndTrashbin(): void { $this->wasTrashbinEnabled = (bool)$this->appManager->isEnabledForUser('files_trashbin'); - $this->wasMaintenanceModeEnabled = $this->config->getSystemValueBool('maintenance'); $this->config->setSystemValue('maintenance', true); $this->appManager->disableApp('files_trashbin'); } @@ -42,7 +40,7 @@ class EncryptAll extends Command { * Reset the maintenance mode and re-enable the trashbin app */ protected function resetMaintenanceAndTrashbin(): void { - $this->config->setSystemValue('maintenance', $this->wasMaintenanceModeEnabled); + $this->config->setSystemValue('maintenance', false); if ($this->wasTrashbinEnabled) { $this->appManager->enableApp('files_trashbin'); } @@ -73,6 +71,11 @@ class EncryptAll extends Command { throw new \Exception('Server side encryption is not enabled'); } + if ($this->config->getSystemValueBool('maintenance')) { + $output->writeln('<error>This command cannot be run with maintenance mode enabled.</error>'); + return self::FAILURE; + } + $output->writeln("\n"); $output->writeln('You are about to encrypt all files stored in your Nextcloud installation.'); $output->writeln('Depending on the number of available files, and their size, this may take quite some time.'); @@ -92,9 +95,9 @@ class EncryptAll extends Command { } $this->resetMaintenanceAndTrashbin(); - return 0; + return self::SUCCESS; } $output->writeln('aborted'); - return 1; + return self::FAILURE; } } |