Merge pull request #2405 from nextcloud/add-avatar-job-once
Execute MoveAvatars repair step only once
This commit is contained in:
commit
542f1a7e0b
|
@ -154,7 +154,7 @@ class Repair implements IOutput{
|
|||
new MoveUpdaterStepFile(\OC::$server->getConfig()),
|
||||
new MoveAvatars(
|
||||
\OC::$server->getJobList(),
|
||||
\OC::$server->getSystemConfig()
|
||||
\OC::$server->getConfig()
|
||||
),
|
||||
new CleanPreviews(
|
||||
\OC::$server->getJobList(),
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue