aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Repair
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2016-11-29 16:05:09 +0100
committerMorris Jobke <hey@morrisjobke.de>2016-11-29 16:55:13 +0100
commit69db58250a7a801256bcd14d787d8ca7d9613bb4 (patch)
tree3c2be3285d86c567eddbd72c638ca1d281600022 /lib/private/Repair
parentf9271ebbd612c42eb33fb2b74023f7f7c8c1e05f (diff)
downloadnextcloud-server-69db58250a7a801256bcd14d787d8ca7d9613bb4.tar.gz
nextcloud-server-69db58250a7a801256bcd14d787d8ca7d9613bb4.zip
Execute MoveAvatars repair step only once
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'lib/private/Repair')
-rw-r--r--lib/private/Repair/NC11/MoveAvatars.php24
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/private/Repair/NC11/MoveAvatars.php b/lib/private/Repair/NC11/MoveAvatars.php
index 44402b1be4f..f98068eaa45 100644
--- a/lib/private/Repair/NC11/MoveAvatars.php
+++ b/lib/private/Repair/NC11/MoveAvatars.php
@@ -22,8 +22,8 @@
*/
namespace OC\Repair\NC11;
-use OC\SystemConfig;
use OCP\BackgroundJob\IJobList;
+use OCP\IConfig;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
@@ -32,33 +32,41 @@ class MoveAvatars implements IRepairStep {
/** @var IJobList */
private $jobList;
- /** @var SystemConfig */
- private $systemConfig;
+ /** @var IConfig */
+ private $config;
/**
* MoveAvatars constructor.
*
* @param IJobList $jobList
- * @param SystemConfig $systemConfig
+ * @param IConfig $config
*/
public function __construct(IJobList $jobList,
- SystemConfig $systemConfig) {
+ IConfig $config) {
$this->jobList = $jobList;
- $this->systemConfig = $systemConfig;
+ $this->config = $config;
}
/**
* @return string
*/
public function getName() {
- return 'Add mover avatar background job';
+ return 'Add move avatar background job';
}
public function run(IOutput $output) {
- if ($this->systemConfig->getValue('enable_avatars', true) === false) {
+ // only run once
+ if ($this->config->getAppValue('core', 'moveavatarsdone') === 'yes') {
+ $output->info('Repair step already executed');
+ return;
+ }
+ if ($this->config->getSystemValue('enable_avatars', true) === false) {
$output->info('Avatars are disabled');
} else {
+ $output->info('Add background job');
$this->jobList->add(MoveAvatarsBackgroundJob::class);
+ // if all were done, no need to redo the repair during next upgrade
+ $this->config->setAppValue('core', 'moveavatarsdone', 'yes');
}
}
}