Skip to content

Commit 9a2a9c7

Browse files
committed
Moving to string key for arguments of GenericEvent in Repair
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
1 parent c416207 commit 9a2a9c7

File tree

7 files changed

+51
-75
lines changed

7 files changed

+51
-75
lines changed

build/psalm-baseline.xml

-17
Original file line numberDiff line numberDiff line change
@@ -3946,23 +3946,6 @@
39463946
<code>$path</code>
39473947
</InvalidReturnStatement>
39483948
</file>
3949-
<file src="lib/private/Updater.php">
3950-
<InvalidScalarArgument occurrences="13">
3951-
<code>0</code>
3952-
<code>0</code>
3953-
<code>0</code>
3954-
<code>0</code>
3955-
<code>0</code>
3956-
<code>0</code>
3957-
<code>0</code>
3958-
<code>0</code>
3959-
<code>0</code>
3960-
<code>1</code>
3961-
<code>1</code>
3962-
<code>1</code>
3963-
<code>1</code>
3964-
</InvalidScalarArgument>
3965-
</file>
39663949
<file src="lib/private/Updater/VersionCheck.php">
39673950
<InvalidScalarArgument occurrences="2">
39683951
<code>microtime(true)</code>

core/Command/Maintenance/Repair.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -122,26 +122,26 @@ public function handleRepairFeedBack($event) {
122122
}
123123
switch ($event->getSubject()) {
124124
case '\OC\Repair::startProgress':
125-
$this->progress->start($event->getArgument(0));
125+
$this->progress->start($event->getArgument('max'));
126126
break;
127127
case '\OC\Repair::advance':
128-
$this->progress->advance($event->getArgument(0));
128+
$this->progress->advance($event->getArgument('step'));
129129
break;
130130
case '\OC\Repair::finishProgress':
131131
$this->progress->finish();
132132
$this->output->writeln('');
133133
break;
134134
case '\OC\Repair::step':
135-
$this->output->writeln(' - ' . $event->getArgument(0));
135+
$this->output->writeln(' - ' . $event->getArgument('step'));
136136
break;
137137
case '\OC\Repair::info':
138-
$this->output->writeln(' - ' . $event->getArgument(0));
138+
$this->output->writeln(' - ' . $event->getArgument('message'));
139139
break;
140140
case '\OC\Repair::warning':
141-
$this->output->writeln(' - WARNING: ' . $event->getArgument(0));
141+
$this->output->writeln(' - WARNING: ' . $event->getArgument('message'));
142142
break;
143143
case '\OC\Repair::error':
144-
$this->output->writeln('<error> - ERROR: ' . $event->getArgument(0) . '</error>');
144+
$this->output->writeln('<error> - ERROR: ' . $event->getArgument('message') . '</error>');
145145
break;
146146
}
147147
}

core/Command/Upgrade.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,16 @@ protected function execute(InputInterface $input, OutputInterface $output): int
125125
switch ($event->getSubject()) {
126126
case '\OC\Repair::startProgress':
127127
$progress->setMessage('Starting ...');
128-
$output->writeln($event->getArgument(1));
128+
$output->writeln($event->getArgument('step'));
129129
$output->writeln('');
130-
$progress->start($event->getArgument(0));
130+
$progress->start($event->getArgument('max'));
131131
break;
132132
case '\OC\Repair::advance':
133-
$desc = $event->getArgument(1);
133+
$desc = $event->getArgument('desc');
134134
if (!empty($desc)) {
135135
$progress->setMessage($desc);
136136
}
137-
$progress->advance($event->getArgument(0));
137+
$progress->advance($event->getArgument('step'));
138138

139139
break;
140140
case '\OC\Repair::finishProgress':
@@ -144,19 +144,19 @@ protected function execute(InputInterface $input, OutputInterface $output): int
144144
break;
145145
case '\OC\Repair::step':
146146
if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) {
147-
$output->writeln('<info>Repair step: ' . $event->getArgument(0) . '</info>');
147+
$output->writeln('<info>Repair step: ' . $event->getArgument('step') . '</info>');
148148
}
149149
break;
150150
case '\OC\Repair::info':
151151
if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) {
152-
$output->writeln('<info>Repair info: ' . $event->getArgument(0) . '</info>');
152+
$output->writeln('<info>Repair info: ' . $event->getArgument('message') . '</info>');
153153
}
154154
break;
155155
case '\OC\Repair::warning':
156-
$output->writeln('<error>Repair warning: ' . $event->getArgument(0) . '</error>');
156+
$output->writeln('<error>Repair warning: ' . $event->getArgument('message') . '</error>');
157157
break;
158158
case '\OC\Repair::error':
159-
$output->writeln('<error>Repair error: ' . $event->getArgument(0) . '</error>');
159+
$output->writeln('<error>Repair error: ' . $event->getArgument('message') . '</error>');
160160
break;
161161
}
162162
};

core/ajax/update.php

+18-21
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
* along with this program. If not, see <http://www.gnu.org/licenses/>
3131
*
3232
*/
33+
use OCP\IEventSource;
34+
use OCP\IL10N;
3335
use OCP\ILogger;
3436
use Symfony\Component\EventDispatcher\GenericEvent;
3537

@@ -48,36 +50,31 @@
4850
$eventSource->send('success', $l->t('Preparing update'));
4951

5052
class FeedBackHandler {
51-
/** @var integer */
52-
private $progressStateMax = 100;
53-
/** @var integer */
54-
private $progressStateStep = 0;
55-
/** @var string */
56-
private $currentStep;
57-
/** @var \OCP\IEventSource */
58-
private $eventSource;
59-
/** @var \OCP\IL10N */
60-
private $l10n;
61-
62-
public function __construct(\OCP\IEventSource $eventSource, \OCP\IL10N $l10n) {
53+
private int $progressStateMax = 100;
54+
private int $progressStateStep = 0;
55+
private string $currentStep = '';
56+
private IEventSource $eventSource;
57+
private IL10N $l10n;
58+
59+
public function __construct(IEventSource $eventSource, IL10N $l10n) {
6360
$this->eventSource = $eventSource;
6461
$this->l10n = $l10n;
6562
}
6663

67-
public function handleRepairFeedback($event) {
64+
public function handleRepairFeedback($event): void {
6865
if (!$event instanceof GenericEvent) {
6966
return;
7067
}
7168

7269
switch ($event->getSubject()) {
7370
case '\OC\Repair::startProgress':
74-
$this->progressStateMax = $event->getArgument(0);
71+
$this->progressStateMax = $event->getArgument('max');
7572
$this->progressStateStep = 0;
76-
$this->currentStep = $event->getArgument(1);
73+
$this->currentStep = (string)$event->getArgument('step');
7774
break;
7875
case '\OC\Repair::advance':
79-
$this->progressStateStep += $event->getArgument(0);
80-
$desc = $event->getArgument(1);
76+
$this->progressStateStep += $event->getArgument('step');
77+
$desc = $event->getArgument('desc');
8178
if (empty($desc)) {
8279
$desc = $this->currentStep;
8380
}
@@ -88,16 +85,16 @@ public function handleRepairFeedback($event) {
8885
$this->eventSource->send('success', $this->l10n->t('[%d / %d]: %s', [$this->progressStateStep, $this->progressStateMax, $this->currentStep]));
8986
break;
9087
case '\OC\Repair::step':
91-
$this->eventSource->send('success', $this->l10n->t('Repair step:') . ' ' . $event->getArgument(0));
88+
$this->eventSource->send('success', $this->l10n->t('Repair step:') . ' ' . $event->getArgument('step'));
9289
break;
9390
case '\OC\Repair::info':
94-
$this->eventSource->send('success', $this->l10n->t('Repair info:') . ' ' . $event->getArgument(0));
91+
$this->eventSource->send('success', $this->l10n->t('Repair info:') . ' ' . $event->getArgument('message'));
9592
break;
9693
case '\OC\Repair::warning':
97-
$this->eventSource->send('notice', $this->l10n->t('Repair warning:') . ' ' . $event->getArgument(0));
94+
$this->eventSource->send('notice', $this->l10n->t('Repair warning:') . ' ' . $event->getArgument('message'));
9895
break;
9996
case '\OC\Repair::error':
100-
$this->eventSource->send('notice', $this->l10n->t('Repair error:') . ' ' . $event->getArgument(0));
97+
$this->eventSource->send('notice', $this->l10n->t('Repair error:') . ' ' . $event->getArgument('message'));
10198
break;
10299
}
103100
}

lib/private/Repair.php

+10-14
Original file line numberDiff line numberDiff line change
@@ -111,19 +111,19 @@ public function __construct(array $repairSteps, EventDispatcherInterface $dispat
111111
*/
112112
public function run() {
113113
if (count($this->repairSteps) === 0) {
114-
$this->emit('\OC\Repair', 'info', ['No repair steps available']);
114+
$this->emit('\OC\Repair', 'info', ['message' => 'No repair steps available']);
115115

116116
return;
117117
}
118118
// run each repair step
119119
foreach ($this->repairSteps as $step) {
120120
$this->currentStep = $step->getName();
121-
$this->emit('\OC\Repair', 'step', [$this->currentStep]);
121+
$this->emit('\OC\Repair', 'step', ['step' => $this->currentStep]);
122122
try {
123123
$step->run($this);
124124
} catch (\Exception $e) {
125125
$this->logger->error("Exception while executing repair step " . $step->getName(), ['exception' => $e]);
126-
$this->emit('\OC\Repair', 'error', [$e->getMessage()]);
126+
$this->emit('\OC\Repair', 'error', ['message' => $e->getMessage()]);
127127
}
128128
}
129129
}
@@ -248,36 +248,32 @@ public static function getBeforeUpgradeRepairSteps() {
248248
}
249249

250250
/**
251-
* @param string $scope
252-
* @param string $method
253-
* @param array $arguments
251+
* @param array<string, mixed> $arguments
254252
*/
255-
public function emit($scope, $method, array $arguments = []) {
256-
if (!is_null($this->dispatcher)) {
257-
$this->dispatcher->dispatch("$scope::$method",
253+
public function emit(string $scope, string $method, array $arguments = []): void {
254+
$this->dispatcher->dispatch("$scope::$method",
258255
new GenericEvent("$scope::$method", $arguments));
259-
}
260256
}
261257

262258
public function info($string) {
263259
// for now just emit as we did in the past
264-
$this->emit('\OC\Repair', 'info', [$string]);
260+
$this->emit('\OC\Repair', 'info', ['message' => $string]);
265261
}
266262

267263
/**
268264
* @param string $message
269265
*/
270266
public function warning($message) {
271267
// for now just emit as we did in the past
272-
$this->emit('\OC\Repair', 'warning', [$message]);
268+
$this->emit('\OC\Repair', 'warning', ['message' => $message]);
273269
}
274270

275271
/**
276272
* @param int $max
277273
*/
278274
public function startProgress($max = 0) {
279275
// for now just emit as we did in the past
280-
$this->emit('\OC\Repair', 'startProgress', [$max, $this->currentStep]);
276+
$this->emit('\OC\Repair', 'startProgress', ['max' => $max, 'step' => $this->currentStep]);
281277
}
282278

283279
/**
@@ -286,7 +282,7 @@ public function startProgress($max = 0) {
286282
*/
287283
public function advance($step = 1, $description = '') {
288284
// for now just emit as we did in the past
289-
$this->emit('\OC\Repair', 'advance', [$step, $description]);
285+
$this->emit('\OC\Repair', 'advance', ['step' => $step, 'desc' => $description]);
290286
}
291287

292288
/**

lib/private/Updater.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ private function doUpgrade(string $currentVersion, string $installedVersion): vo
293293
$repair->run();
294294

295295
//Invalidate update feed
296-
$this->config->setAppValue('core', 'lastupdatedat', 0);
296+
$this->config->setAppValue('core', 'lastupdatedat', '0');
297297

298298
// Check for code integrity if not disabled
299299
if (\OC::$server->getIntegrityCodeChecker()->isCodeCheckEnforced()) {
@@ -482,30 +482,30 @@ private function logAllEvents(): void {
482482
}
483483
switch ($event->getSubject()) {
484484
case '\OC\Repair::startProgress':
485-
$log->info('\OC\Repair::startProgress: Starting ... ' . $event->getArgument(1) . ' (' . $event->getArgument(0) . ')', ['app' => 'updater']);
485+
$log->info('\OC\Repair::startProgress: Starting ... ' . $event->getArgument('max') . ' (' . $event->getArgument('step') . ')', ['app' => 'updater']);
486486
break;
487487
case '\OC\Repair::advance':
488-
$desc = $event->getArgument(1);
488+
$desc = $event->getArgument('desc');
489489
if (empty($desc)) {
490490
$desc = '';
491491
}
492-
$log->info('\OC\Repair::advance: ' . $desc . ' (' . $event->getArgument(0) . ')', ['app' => 'updater']);
492+
$log->info('\OC\Repair::advance: ' . $desc . ' (' . $event->getArgument('step') . ')', ['app' => 'updater']);
493493

494494
break;
495495
case '\OC\Repair::finishProgress':
496496
$log->info('\OC\Repair::finishProgress', ['app' => 'updater']);
497497
break;
498498
case '\OC\Repair::step':
499-
$log->info('\OC\Repair::step: Repair step: ' . $event->getArgument(0), ['app' => 'updater']);
499+
$log->info('\OC\Repair::step: Repair step: ' . $event->getArgument('step'), ['app' => 'updater']);
500500
break;
501501
case '\OC\Repair::info':
502-
$log->info('\OC\Repair::info: Repair info: ' . $event->getArgument(0), ['app' => 'updater']);
502+
$log->info('\OC\Repair::info: Repair info: ' . $event->getArgument('message'), ['app' => 'updater']);
503503
break;
504504
case '\OC\Repair::warning':
505-
$log->warning('\OC\Repair::warning: Repair warning: ' . $event->getArgument(0), ['app' => 'updater']);
505+
$log->warning('\OC\Repair::warning: Repair warning: ' . $event->getArgument('message'), ['app' => 'updater']);
506506
break;
507507
case '\OC\Repair::error':
508-
$log->error('\OC\Repair::error: Repair error: ' . $event->getArgument(0), ['app' => 'updater']);
508+
$log->error('\OC\Repair::error: Repair error: ' . $event->getArgument('message'), ['app' => 'updater']);
509509
break;
510510
}
511511
};

lib/private/legacy/OC_App.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1055,7 +1055,7 @@ public static function executeRepairSteps(string $appId, array $steps) {
10551055
try {
10561056
$r->addStep($step);
10571057
} catch (Exception $ex) {
1058-
$r->emit('\OC\Repair', 'error', [$ex->getMessage()]);
1058+
$r->emit('\OC\Repair', 'error', ['message' => $ex->getMessage()]);
10591059
\OC::$server->getLogger()->logException($ex);
10601060
}
10611061
}

0 commit comments

Comments
 (0)