Completed
Pull Request — master (#634)
by Maxence
04:45 queued 02:03
created

Migration::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
6
/**
7
 * Circles - Bring cloud-users closer together.
8
 *
9
 * This file is licensed under the Affero General Public License version 3 or
10
 * later. See the COPYING file.
11
 *
12
 * @author Maxence Lange <[email protected]>
13
 * @copyright 2021
14
 * @license GNU AGPL version 3 or any later version
15
 *
16
 * This program is free software: you can redistribute it and/or modify
17
 * it under the terms of the GNU Affero General Public License as
18
 * published by the Free Software Foundation, either version 3 of the
19
 * License, or (at your option) any later version.
20
 *
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU Affero General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU Affero General Public License
27
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
28
 *
29
 */
30
31
32
namespace OCA\Circles\Migration;
33
34
35
use ArtificialOwl\MySmallPhpTools\Traits\Nextcloud\nc22\TNC22Logger;
36
use OCA\Circles\AppInfo\Application;
37
use OCA\Circles\Exceptions\MigrationException;
38
use OCA\Circles\Service\ConfigService;
39
use OCA\Circles\Service\SyncService;
40
use OCP\Migration\IOutput;
41
use OCP\Migration\IRepairStep;
42
43
44
/**
45
 * Class Migration
46
 *
47
 * @package OCA\Circles\Migration
48
 */
49
class Migration implements IRepairStep {
50
51
52
	use TNC22Logger;
53
54
55
	/** @var SyncService */
56
	private $syncService;
57
58
	/** @var ConfigService */
59
	private $configService;
60
61
62
	/**
63
	 * Migration constructor.
64
	 *
65
	 * @param SyncService $syncService
66
	 * @param ConfigService $configService
67
	 */
68
	public function __construct(SyncService $syncService, ConfigService $configService) {
69
		$this->syncService = $syncService;
70
		$this->configService = $configService;
71
	}
72
73
74
	/**
75
	 * @return string
76
	 */
77
	public function getName(): string {
78
		return '(' . Application::APP_NAME . ') Migrating data from older version of the Circles App';
79
	}
80
81
82
	/**
83
	 * @param IOutput $output
84
	 */
85
	public function run(IOutput $output) {
86
		if ($this->configService->getAppValueBool(ConfigService::MIGRATION_BYPASS)) {
87
			return;
88
		}
89
90
		$this->syncService->setMigrationOutput($output);
91
92
		try {
93
			$this->syncService->migration();
94
		} catch (MigrationException $e) {
95
			$this->e($e);
96
		}
97
	}
98
99
}
100
101