Make getDefaultModuleId public and get module protected
This commit is contained in:
parent
4e97228cde
commit
d600955a51
8 changed files with 34 additions and 60 deletions
|
@ -49,16 +49,12 @@ class ListModules extends Base {
|
|||
|
||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||
$encryptionModules = $this->encryptionManager->getEncryptionModules();
|
||||
$defaultEncryptionModuleId = '';
|
||||
try {
|
||||
$defaultEncryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
|
||||
$defaultEncryptionModuleId = $defaultEncryptionModule->getId();
|
||||
} catch (\Exception $e) {}
|
||||
$defaultEncryptionModuleId = $this->encryptionManager->getDefaultEncryptionModuleId();
|
||||
|
||||
$encModules = array();
|
||||
foreach ($encryptionModules as $module) {
|
||||
$encModules[$module->getId()]['displayName'] = $module->getDisplayName();
|
||||
$encModules[$module->getId()]['default'] .= $module->getId() === $defaultEncryptionModuleId;
|
||||
$encModules[$module['id']]['displayName'] = $module['displayName'];
|
||||
$encModules[$module['id']]['default'] .= $module['id'] === $defaultEncryptionModuleId;
|
||||
}
|
||||
$this->writeModuleList($input, $output, $encModules);
|
||||
}
|
||||
|
@ -69,20 +65,16 @@ class ListModules extends Base {
|
|||
* @param array $items
|
||||
*/
|
||||
protected function writeModuleList(InputInterface $input, OutputInterface $output, $items) {
|
||||
switch ($input->getOption('output')) {
|
||||
case 'plain':
|
||||
array_walk($items, function(&$item) {
|
||||
if (!$item['default']) {
|
||||
$item = $item['displayName'];
|
||||
} else {
|
||||
$item = $item['displayName'] . ' [default*]';
|
||||
}
|
||||
});
|
||||
// no break;
|
||||
|
||||
default:
|
||||
parent::writeArrayInOutputFormat($input, $output, $items);
|
||||
break;
|
||||
if ($input->getOption('output') === 'plain') {
|
||||
array_walk($items, function(&$item) {
|
||||
if (!$item['default']) {
|
||||
$item = $item['displayName'];
|
||||
} else {
|
||||
$item = $item['displayName'] . ' [default*]';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
parent::writeArrayInOutputFormat($input, $output, $items);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,22 +56,13 @@ class SetDefaultModule extends Command {
|
|||
|
||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||
$moduleId = $input->getArgument('module');
|
||||
$currentDefaultModuleId = '';
|
||||
try {
|
||||
$currentDefaultModule = $this->encryptionManager->getDefaultEncryptionModule();
|
||||
$currentDefaultModuleId = $currentDefaultModule->getId();
|
||||
} catch (\Exception $e) {}
|
||||
|
||||
if ($moduleId === $currentDefaultModuleId) {
|
||||
if ($moduleId === $this->encryptionManager->getDefaultEncryptionModuleId()) {
|
||||
$output->writeln('"' . $moduleId . '"" is already the default module');
|
||||
} else if ($this->encryptionManager->setDefaultEncryptionModule($moduleId)) {
|
||||
$output->writeln('Set default module to "' . $moduleId . '"');
|
||||
} else {
|
||||
$output->writeln('The specified module "' . $moduleId . '" does not exist');
|
||||
}
|
||||
|
||||
if ($moduleId === $currentDefaultModuleId) {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -158,7 +158,7 @@ class Manager implements IManager {
|
|||
* @return \OCP\Encryption\IEncryptionModule
|
||||
* @throws Exceptions\ModuleDoesNotExistsException
|
||||
*/
|
||||
public function getDefaultEncryptionModule() {
|
||||
protected function getDefaultEncryptionModule() {
|
||||
$defaultModuleId = $this->getDefaultEncryptionModuleId();
|
||||
if (!empty($defaultModuleId)) {
|
||||
if (isset($this->encryptionModules[$defaultModuleId])) {
|
||||
|
@ -183,12 +183,12 @@ class Manager implements IManager {
|
|||
public function setDefaultEncryptionModule($moduleId) {
|
||||
try {
|
||||
$this->getEncryptionModule($moduleId);
|
||||
$this->config->setAppValue('core', 'default_encryption_module', $moduleId);
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->config->setAppValue('core', 'default_encryption_module', $moduleId);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -196,12 +196,8 @@ class Manager implements IManager {
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getDefaultEncryptionModuleId() {
|
||||
try {
|
||||
return $this->config->getAppValue('core', 'default_encryption_module');
|
||||
} catch (\Exception $e) {
|
||||
return '';
|
||||
}
|
||||
public function getDefaultEncryptionModuleId() {
|
||||
return $this->config->getAppValue('core', 'default_encryption_module');
|
||||
}
|
||||
|
||||
public static function setupStorage() {
|
||||
|
|
|
@ -137,7 +137,7 @@ class Update {
|
|||
$allFiles = array($path);
|
||||
}
|
||||
|
||||
$encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
|
||||
$encryptionModule = $this->encryptionManager->getEncryptionModule();
|
||||
|
||||
foreach ($allFiles as $file) {
|
||||
$usersSharing = $this->file->getAccessList($file);
|
||||
|
|
|
@ -311,12 +311,10 @@ class Encryption extends Wrapper {
|
|||
|| $mode === 'wb'
|
||||
|| $mode === 'wb+'
|
||||
) {
|
||||
if (!empty($encryptionModuleId)) {
|
||||
if ($encryptionEnabled) {
|
||||
// if $encryptionModuleId is empty, the default module will be used
|
||||
$encryptionModule = $this->encryptionManager->getEncryptionModule($encryptionModuleId);
|
||||
$shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
|
||||
} elseif ($encryptionEnabled) {
|
||||
$encryptionModule = $this->encryptionManager->getDefaultEncryptionModule();
|
||||
$shouldEncrypt = $encryptionModule->shouldEncrypt($fullPath);
|
||||
}
|
||||
} else {
|
||||
// only get encryption module if we found one in the header
|
||||
|
|
|
@ -78,13 +78,12 @@ interface IManager {
|
|||
function getEncryptionModule($moduleId);
|
||||
|
||||
/**
|
||||
* get default encryption module
|
||||
* get default encryption module Id
|
||||
*
|
||||
* @return \OCP\Encryption\IEncryptionModule
|
||||
* @throws ModuleDoesNotExistsException
|
||||
* @return string
|
||||
* @since 8.1.0
|
||||
*/
|
||||
public function getDefaultEncryptionModule();
|
||||
public function getDefaultEncryptionModuleId();
|
||||
|
||||
/**
|
||||
* set default encryption module Id
|
||||
|
|
|
@ -86,14 +86,10 @@ $backends = \OC::$server->getUserManager()->getBackends();
|
|||
$externalBackends = (count($backends) > 1) ? true : false;
|
||||
$template->assign('encryptionReady', \OC::$server->getEncryptionManager()->isReady());
|
||||
$template->assign('externalBackendsEnabled', $externalBackends);
|
||||
$encryptionModules = \OC::$server->getEncryptionManager()->getEncryptionModules();
|
||||
|
||||
try {
|
||||
$defaultEncryptionModule = \OC::$server->getEncryptionManager()->getDefaultEncryptionModule();
|
||||
$defaultEncryptionModuleId = $defaultEncryptionModule->getId();
|
||||
} catch (Exception $e) {
|
||||
$defaultEncryptionModuleId = null;
|
||||
}
|
||||
$encryptionModules = \OC::$server->getEncryptionManager()->getEncryptionModules();
|
||||
$defaultEncryptionModuleId = \OC::$server->getEncryptionManager()->getDefaultEncryptionModuleId();
|
||||
|
||||
$encModulues = array();
|
||||
foreach ($encryptionModules as $module) {
|
||||
$encModulues[$module['id']]['displayName'] = $module['displayName'];
|
||||
|
|
|
@ -123,8 +123,10 @@ class ManagerTest extends TestCase {
|
|||
$en0 = $this->manager->getEncryptionModule('ID0');
|
||||
$this->assertEquals('ID0', $en0->getId());
|
||||
|
||||
$en0 = $this->manager->getDefaultEncryptionModule();
|
||||
$en0 = \Test_Helper::invokePrivate($this->manager, 'getDefaultEncryptionModule');
|
||||
$this->assertEquals('ID0', $en0->getId());
|
||||
|
||||
$this->assertEquals('ID0', $this->manager->getDefaultEncryptionModuleId());
|
||||
}
|
||||
|
||||
public function testSetDefaultEncryptionModule() {
|
||||
|
@ -143,7 +145,7 @@ class ManagerTest extends TestCase {
|
|||
|
||||
// Default module is the first we set
|
||||
$defaultId = 'ID0';
|
||||
$this->assertEquals('ID0', \Test_Helper::invokePrivate($this->manager, 'getDefaultEncryptionModuleId'));
|
||||
$this->assertEquals('ID0', $this->manager->getDefaultEncryptionModuleId());
|
||||
|
||||
// Set to an existing module
|
||||
$this->config->expects($this->once())
|
||||
|
@ -151,11 +153,11 @@ class ManagerTest extends TestCase {
|
|||
->with('core', 'default_encryption_module', 'ID1');
|
||||
$this->assertTrue($this->manager->setDefaultEncryptionModule('ID1'));
|
||||
$defaultId = 'ID1';
|
||||
$this->assertEquals('ID1', \Test_Helper::invokePrivate($this->manager, 'getDefaultEncryptionModuleId'));
|
||||
$this->assertEquals('ID1', $this->manager->getDefaultEncryptionModuleId());
|
||||
|
||||
// Set to an unexisting module
|
||||
$this->assertFalse($this->manager->setDefaultEncryptionModule('ID2'));
|
||||
$this->assertEquals('ID1', \Test_Helper::invokePrivate($this->manager, 'getDefaultEncryptionModuleId'));
|
||||
$this->assertEquals('ID1', $this->manager->getDefaultEncryptionModuleId());
|
||||
}
|
||||
|
||||
// /**
|
||||
|
|
Loading…
Reference in a new issue