diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-13 11:22:28 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-24 08:41:20 +0200 |
commit | 328b3c47d7fdf61b6de3c2d9129d392d3a9f5a87 (patch) | |
tree | 4d7f5eedc7861b40271bcfe1e95cc01d5ed0296d /apps/files_external/migration | |
parent | adcf942901fd567d97dbe105e8f3dfb7cea738e3 (diff) | |
download | nextcloud-server-328b3c47d7fdf61b6de3c2d9129d392d3a9f5a87.tar.gz nextcloud-server-328b3c47d7fdf61b6de3c2d9129d392d3a9f5a87.zip |
Move stuff from outside lib/ to PSR-4
Diffstat (limited to 'apps/files_external/migration')
-rw-r--r-- | apps/files_external/migration/dummyusersession.php | 51 | ||||
-rw-r--r-- | apps/files_external/migration/storagemigrator.php | 147 |
2 files changed, 0 insertions, 198 deletions
diff --git a/apps/files_external/migration/dummyusersession.php b/apps/files_external/migration/dummyusersession.php deleted file mode 100644 index bb4ef19dace..00000000000 --- a/apps/files_external/migration/dummyusersession.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * @author Robin Appelman <icewind@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\Files_external\Migration; - -use OCP\IUser; -use OCP\IUserSession; - -class DummyUserSession implements IUserSession { - - /** - * @var IUser - */ - private $user; - - public function login($user, $password) { - } - - public function logout() { - } - - public function setUser($user) { - $this->user = $user; - } - - public function getUser() { - return $this->user; - } - - public function isLoggedIn() { - return !is_null($this->user); - } -} diff --git a/apps/files_external/migration/storagemigrator.php b/apps/files_external/migration/storagemigrator.php deleted file mode 100644 index 48ab52768e2..00000000000 --- a/apps/files_external/migration/storagemigrator.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -/** - * @author Robin Appelman <icewind@owncloud.com> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\Files_external\Migration; - -use OCA\Files_External\Service\BackendService; -use OCA\Files_External\Service\DBConfigService; -use OCA\Files_external\Service\GlobalLegacyStoragesService; -use OCA\Files_external\Service\GlobalStoragesService; -use OCA\Files_external\Service\LegacyStoragesService; -use OCA\Files_external\Service\StoragesService; -use OCA\Files_external\Service\UserLegacyStoragesService; -use OCA\Files_external\Service\UserStoragesService; -use OCP\Files\Config\IUserMountCache; -use OCP\IConfig; -use OCP\IDBConnection; -use OCP\ILogger; -use OCP\IUser; -use OCP\IUserSession; - -/** - * Migrate mount config from mount.json to the database - */ -class StorageMigrator { - /** - * @var BackendService - */ - private $backendService; - - /** - * @var DBConfigService - */ - private $dbConfig; - - /** - * @var IConfig - */ - private $config; - - /** - * @var IDBConnection - */ - private $connection; - - /** - * @var ILogger - */ - private $logger; - - /** @var IUserMountCache */ - private $userMountCache; - - /** - * StorageMigrator constructor. - * - * @param BackendService $backendService - * @param DBConfigService $dbConfig - * @param IConfig $config - * @param IDBConnection $connection - * @param ILogger $logger - * @param IUserMountCache $userMountCache - */ - public function __construct( - BackendService $backendService, - DBConfigService $dbConfig, - IConfig $config, - IDBConnection $connection, - ILogger $logger, - IUserMountCache $userMountCache - ) { - $this->backendService = $backendService; - $this->dbConfig = $dbConfig; - $this->config = $config; - $this->connection = $connection; - $this->logger = $logger; - $this->userMountCache = $userMountCache; - } - - private function migrate(LegacyStoragesService $legacyService, StoragesService $storageService) { - $existingStorage = $legacyService->getAllStorages(); - - $this->connection->beginTransaction(); - try { - foreach ($existingStorage as $storage) { - $mountOptions = $storage->getMountOptions(); - if (!empty($mountOptions) && !isset($mountOptions['enable_sharing'])) { - // existing mounts must have sharing enabled by default to avoid surprises - $mountOptions['enable_sharing'] = true; - $storage->setMountOptions($mountOptions); - } - $storageService->addStorage($storage); - } - $this->connection->commit(); - } catch (\Exception $e) { - $this->logger->logException($e); - $this->connection->rollBack(); - } - } - - /** - * Migrate admin configured storages - */ - public function migrateGlobal() { - $legacyService = new GlobalLegacyStoragesService($this->backendService); - $storageService = new GlobalStoragesService($this->backendService, $this->dbConfig, $this->userMountCache); - - $this->migrate($legacyService, $storageService); - } - - /** - * Migrate personal storages configured by the current user - * - * @param IUser $user - */ - public function migrateUser(IUser $user) { - $dummySession = new DummyUserSession(); - $dummySession->setUser($user); - $userId = $user->getUID(); - $userVersion = $this->config->getUserValue($userId, 'files_external', 'config_version', '0.0.0'); - if (version_compare($userVersion, '0.5.0', '<')) { - $this->config->setUserValue($userId, 'files_external', 'config_version', '0.5.0'); - $legacyService = new UserLegacyStoragesService($this->backendService, $dummySession); - $storageService = new UserStoragesService($this->backendService, $this->dbConfig, $dummySession, $this->userMountCache); - - $this->migrate($legacyService, $storageService); - } - } -} |