Add return value to all commands

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-06-26 14:54:51 +02:00
parent ed4afa55c1
commit ab21d69903
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
79 changed files with 159 additions and 103 deletions

View File

@ -80,7 +80,7 @@ class CheckCode extends Command implements CompletionAwareInterface {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appId = $input->getArgument('app-id');
$checkList = new EmptyCheck();

View File

@ -60,7 +60,7 @@ class Disable extends Command implements CompletionAwareInterface {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appIds = $input->getArgument('app-id');
foreach ($appIds as $appId) {

View File

@ -83,7 +83,7 @@ class Enable extends Command implements CompletionAwareInterface {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appIds = $input->getArgument('app-id');
$groups = $this->resolveGroupIds($input->getOption('groups'));
$forceEnable = (bool) $input->getOption('force');

View File

@ -51,7 +51,7 @@ class GetPath extends Base {
* @param OutputInterface $output An OutputInterface instance
* @return null|int null or 0 if everything went fine, or an error code
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$path = \OC_App::getAppPath($appName);
if ($path !== false) {

View File

@ -51,7 +51,7 @@ class Install extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appId = $input->getArgument('app-id');
if (\OC_App::getAppPath($appId)) {

View File

@ -61,7 +61,7 @@ class ListApps extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if ($input->getOption('shipped') === 'true' || $input->getOption('shipped') === 'false') {
$shippedFilter = $input->getOption('shipped') === 'true';
} else {
@ -97,6 +97,7 @@ class ListApps extends Base {
}
$this->writeAppList($input, $output, $apps);
return 0;
}
/**

View File

@ -75,7 +75,7 @@ class Remove extends Command implements CompletionAwareInterface {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appId = $input->getArgument('app-id');
// Check if the app is installed

View File

@ -80,7 +80,7 @@ class Update extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$singleAppId = $input->getArgument('app-id');
if ($singleAppId) {

View File

@ -48,8 +48,8 @@ abstract class Base extends Command {
* @param \OCP\IConfig $config
*/
public function __construct(IConfig $config) {
$this->config = $config;
parent::__construct();
$this->config = $config;
}
protected function configure() {
@ -67,9 +67,10 @@ abstract class Base extends Command {
* @param InputInterface $input
* @param OutputInterface $output
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$mode = $this->getMode();
$this->config->setAppValue('core', 'backgroundjobs_mode', $mode);
$output->writeln("Set mode for background jobs to '$mode'");
return 0;
}
}

View File

@ -60,7 +60,7 @@ class Test extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$name = $input->getArgument('name');
$uid = $input->getArgument('uid');

View File

@ -50,7 +50,7 @@ class Check extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$errors = \OC_Util::checkServer($this->config);
if (!empty($errors)) {
$errors = array_map(function ($item) {

View File

@ -65,7 +65,7 @@ class DeleteConfig extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$configName = $input->getArgument('name');

View File

@ -72,7 +72,7 @@ class GetConfig extends Base {
* @param OutputInterface $output An OutputInterface instance
* @return null|int null or 0 if everything went fine, or an error code
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$configName = $input->getArgument('name');
$defaultValue = $input->getOption('default-value');

View File

@ -71,7 +71,7 @@ class SetConfig extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$configName = $input->getArgument('name');

View File

@ -60,7 +60,7 @@ class Import extends Command implements CompletionAwareInterface {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$importFile = $input->getArgument('file');
if ($importFile !== null) {
$content = $this->getArrayFromFile($importFile);
@ -72,7 +72,7 @@ class Import extends Command implements CompletionAwareInterface {
$configs = $this->validateFileContent($content);
} catch (\UnexpectedValueException $e) {
$output->writeln('<error>' . $e->getMessage(). '</error>');
return;
return 1;
}
if (!empty($configs['system'])) {
@ -92,6 +92,7 @@ class Import extends Command implements CompletionAwareInterface {
}
$output->writeln('<info>Config successfully imported from: ' . $importFile . '</info>');
return 0;
}
/**

View File

@ -71,7 +71,7 @@ class ListConfigs extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$app = $input->getArgument('app');
$noSensitiveValues = !$input->getOption('private');
@ -102,6 +102,7 @@ class ListConfigs extends Base {
}
$this->writeArrayInOutputFormat($input, $output, $configs);
return 0;
}
/**

View File

@ -62,7 +62,7 @@ class DeleteConfig extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$configNames = $input->getArgument('name');
$configName = $configNames[0];

View File

@ -68,7 +68,7 @@ class GetConfig extends Base {
* @param OutputInterface $output An OutputInterface instance
* @return null|int null or 0 if everything went fine, or an error code
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$configNames = $input->getArgument('name');
$configName = array_shift($configNames);
$defaultValue = $input->getOption('default-value');

View File

@ -77,7 +77,7 @@ class SetConfig extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$configNames = $input->getArgument('name');
$configName = $configNames[0];
$configValue = $this->castValue($input->getOption('value'), $input->getOption('type'));

View File

@ -63,12 +63,13 @@ class AddMissingColumns extends Command {
->setDescription('Add missing optional columns to the database tables');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$this->addCoreColumns($output);
// Dispatch event so apps can also update columns if needed
$event = new GenericEvent($output);
$this->dispatcher->dispatch(IDBConnection::ADD_MISSING_COLUMNS_EVENT, $event);
return 0;
}
/**

View File

@ -69,12 +69,13 @@ class AddMissingIndices extends Command {
->setDescription('Add missing indices to the database tables');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$this->addCoreIndexes($output);
// Dispatch event so apps can also update indexes if needed
$event = new GenericEvent($output);
$this->dispatcher->dispatch(IDBConnection::ADD_MISSING_INDEXES_EVENT, $event);
return 0;
}
/**

View File

@ -71,7 +71,7 @@ class ConvertFilecacheBigInt extends Command {
];
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$schema = new SchemaWrapper($this->connection);
$isSqlite = $this->connection->getDatabasePlatform() instanceof SqlitePlatform;
$updates = [];

View File

@ -68,7 +68,7 @@ class ConvertMysqlToMB4 extends Command {
->setDescription('Convert charset of MySQL/MariaDB to use utf8mb4');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if (!$this->connection->getDatabasePlatform() instanceof MySqlPlatform) {
$output->writeln("This command is only valid for MySQL/MariaDB databases.");
return 1;

View File

@ -188,7 +188,7 @@ class ConvertType extends Command implements CompletionAwareInterface {
}
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$this->validateInput($input, $output);
$this->readPassword($input, $output);
@ -221,11 +221,12 @@ class ConvertType extends Command implements CompletionAwareInterface {
$helper = $this->getHelper('question');
if (!$helper->ask($input, $output, $question)) {
return;
return 1;
}
}
$intersectingTables = array_intersect($toTables, $fromTables);
$this->convertDB($fromDB, $toDB, $intersectingTables, $input, $output);
return 0;
}
protected function createSchema(Connection $fromDB, Connection $toDB, InputInterface $input, OutputInterface $output) {

View File

@ -75,7 +75,7 @@ class ExecuteCommand extends Command implements CompletionAwareInterface {
* @param OutputInterface $output
* @return int
*/
public function execute(InputInterface $input, OutputInterface $output) {
public function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$ms = new MigrationService($appName, $this->connection, new ConsoleOutput($output));
$version = $input->getArgument('version');

View File

@ -110,7 +110,7 @@ class {{classname}} extends SimpleMigrationStep {
parent::configure();
}
public function execute(InputInterface $input, OutputInterface $output) {
public function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$version = $input->getArgument('version');

View File

@ -52,7 +52,7 @@ class GenerateFromSchemaFileCommand extends GenerateCommand {
$this->setName('migrations:generate-from-schema');
}
public function execute(InputInterface $input, OutputInterface $output) {
public function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$version = $input->getArgument('version');

View File

@ -55,12 +55,13 @@ class MigrateCommand extends Command implements CompletionAwareInterface {
parent::configure();
}
public function execute(InputInterface $input, OutputInterface $output) {
public function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$ms = new MigrationService($appName, $this->connection, new ConsoleOutput($output));
$version = $input->getArgument('version');
$ms->migrate($version);
return 0;
}
/**

View File

@ -53,7 +53,7 @@ class StatusCommand extends Command implements CompletionAwareInterface {
->addArgument('app', InputArgument::REQUIRED, 'Name of the app this migration command shall work on');
}
public function execute(InputInterface $input, OutputInterface $output) {
public function execute(InputInterface $input, OutputInterface $output): int {
$appName = $input->getArgument('app');
$ms = new MigrationService($appName, $this->connection, new ConsoleOutput($output));
@ -68,6 +68,7 @@ class StatusCommand extends Command implements CompletionAwareInterface {
$output->writeln(" <comment>>></comment> $key: " . str_repeat(' ', 50 - strlen($key)) . $value);
}
}
return 0;
}
/**

View File

@ -84,14 +84,14 @@ class ChangeKeyStorageRoot extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$oldRoot = $this->util->getKeyStorageRoot();
$newRoot = $input->getArgument('newRoot');
if ($newRoot === null) {
$question = new ConfirmationQuestion('No storage root given, do you want to reset the key storage root to the default location? (y/n) ', false);
if (!$this->questionHelper->ask($input, $output, $question)) {
return;
return 1;
}
$newRoot = '';
}
@ -104,7 +104,9 @@ class ChangeKeyStorageRoot extends Command {
$this->util->setKeyStorageRoot($newRoot);
$output->writeln('');
$output->writeln("Key storage root successfully changed to <info>$newRootDescription</info>");
return 0;
}
return 1;
}
/**

View File

@ -125,14 +125,14 @@ class DecryptAll extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if (!$input->isInteractive()) {
$output->writeln('Invalid TTY.');
$output->writeln('If you are trying to execute the command in a Docker ');
$output->writeln("container, do not forget to execute 'docker exec' with");
$output->writeln("the '-i' and '-t' options.");
$output->writeln('');
return;
return 1;
}
$isMaintenanceModeEnabled = $this->config->getSystemValue('maintenance', false);
@ -141,7 +141,7 @@ class DecryptAll extends Command {
$output->writeln("in order to load the relevant encryption modules correctly.");
$output->writeln("Your instance will automatically be put to maintenance mode");
$output->writeln("during the actual decryption of the files.");
return;
return 1;
}
try {
@ -151,7 +151,7 @@ class DecryptAll extends Command {
$output->writeln('done.');
} else {
$output->writeln('Server side encryption not enabled. Nothing to do.');
return;
return 0;
}
$uid = $input->getArgument('user');
@ -181,11 +181,13 @@ class DecryptAll extends Command {
$this->config->setAppValue('core', 'encryption_enabled', 'yes');
}
$this->resetMaintenanceAndTrashbin();
return 0;
} else {
$output->write('Enable server side encryption... ');
$this->config->setAppValue('core', 'encryption_enabled', 'yes');
$output->writeln('done.');
$output->writeln('aborted');
return 1;
}
} catch (\Exception $e) {
// enable server side encryption again if something went wrong

View File

@ -46,12 +46,13 @@ class Disable extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if ($this->config->getAppValue('core', 'encryption_enabled', 'no') !== 'yes') {
$output->writeln('Encryption is already disabled');
} else {
$this->config->setAppValue('core', 'encryption_enabled', 'no');
$output->writeln('<info>Encryption disabled</info>');
}
return 0;
}
}

View File

@ -54,7 +54,7 @@ class Enable extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if ($this->config->getAppValue('core', 'encryption_enabled', 'no') === 'yes') {
$output->writeln('Encryption is already enabled');
} else {
@ -66,15 +66,19 @@ class Enable extends Command {
$modules = $this->encryptionManager->getEncryptionModules();
if (empty($modules)) {
$output->writeln('<error>No encryption module is loaded</error>');
return 1;
} else {
$defaultModule = $this->config->getAppValue('core', 'default_encryption_module', null);
if ($defaultModule === null) {
$output->writeln('<error>No default module is set</error>');
return 1;
} elseif (!isset($modules[$defaultModule])) {
$output->writeln('<error>The current default module does not exist: ' . $defaultModule . '</error>');
return 1;
} else {
$output->writeln('Default module: ' . $defaultModule);
}
}
return 0;
}
}

View File

@ -106,14 +106,14 @@ class EncryptAll extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if (!$input->isInteractive()) {
$output->writeln('Invalid TTY.');
$output->writeln('If you are trying to execute the command in a Docker ');
$output->writeln("container, do not forget to execute 'docker exec' with");
$output->writeln("the '-i' and '-t' options.");
$output->writeln('');
return;
return 1;
}
if ($this->encryptionManager->isEnabled() === false) {
@ -141,6 +141,8 @@ class EncryptAll extends Command {
$this->resetMaintenanceAndTrashbin();
} else {
$output->writeln('aborted');
return 1;
}
return 0;
}
}

View File

@ -59,12 +59,12 @@ class ListModules extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$isMaintenanceModeEnabled = $this->config->getSystemValue('maintenance', false);
if ($isMaintenanceModeEnabled) {
$output->writeln("Maintenance mode must be disabled when listing modules");
$output->writeln("in order to list the relevant encryption modules correctly.");
return;
return 1;
}
$encryptionModules = $this->encryptionManager->getEncryptionModules();
@ -76,6 +76,7 @@ class ListModules extends Base {
$encModules[$module['id']]['default'] = $module['id'] === $defaultEncryptionModuleId;
}
$this->writeModuleList($input, $output, $encModules);
return 0;
}
/**

View File

@ -65,12 +65,12 @@ class SetDefaultModule extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$isMaintenanceModeEnabled = $this->config->getSystemValue('maintenance', false);
if ($isMaintenanceModeEnabled) {
$output->writeln("Maintenance mode must be disabled when setting default module,");
$output->writeln("in order to load the relevant encryption modules correctly.");
return;
return 1;
}
$moduleId = $input->getArgument('module');
@ -81,6 +81,8 @@ class SetDefaultModule extends Command {
$output->writeln('<info>Set default module to "' . $moduleId . '"</info>');
} else {
$output->writeln('<error>The specified module "' . $moduleId . '" does not exist</error>');
return 1;
}
return 0;
}
}

View File

@ -48,11 +48,12 @@ class ShowKeyStorageRoot extends Command {
->setDescription('Show current key storage root');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$currentRoot = $this->util->getKeyStorageRoot();
$rootDescription = $currentRoot !== '' ? $currentRoot : 'default storage location (data/)';
$output->writeln("Current key storage root: <info>$rootDescription</info>");
return 0;
}
}

View File

@ -48,10 +48,11 @@ class Status extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$this->writeArrayInOutputFormat($input, $output, [
'enabled' => $this->encryptionManager->isEnabled(),
'defaultModule' => $this->encryptionManager->getDefaultEncryptionModuleId(),
]);
return 0;
}
}

View File

@ -65,7 +65,7 @@ class Add extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$gid = $input->getArgument('groupid');
$group = $this->groupManager->get($gid);
if ($group) {

View File

@ -61,7 +61,7 @@ class AddUser extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$group = $this->groupManager->get($input->getArgument('group'));
if (is_null($group)) {
$output->writeln('<error>group not found</error>');
@ -73,5 +73,6 @@ class AddUser extends Base {
return 1;
}
$group->addUser($user);
return 0;
}
}

View File

@ -55,7 +55,7 @@ class Delete extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$gid = $input->getArgument('groupid');
if ($gid === 'admin') {
$output->writeln('<error>Group "' . $gid . '" could not be deleted.</error>');
@ -72,5 +72,6 @@ class Delete extends Base {
$output->writeln('<error>Group "' . $gid . '" could not be deleted. Please check the logs.</error>');
return 1;
}
return 0;
}
}

View File

@ -67,9 +67,10 @@ class ListCommand extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$groups = $this->groupManager->search('', (int)$input->getOption('limit'), (int)$input->getOption('offset'));
$this->writeArrayInOutputFormat($input, $output, $this->formatGroups($groups));
return 0;
}
/**

View File

@ -61,7 +61,7 @@ class RemoveUser extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$group = $this->groupManager->get($input->getArgument('group'));
if (is_null($group)) {
$output->writeln('<error>group not found</error>');
@ -73,5 +73,6 @@ class RemoveUser extends Base {
return 1;
}
$group->removeUser($user);
return 0;
}
}

View File

@ -66,7 +66,7 @@ class CheckApp extends Base {
/**
* {@inheritdoc }
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$appid = $input->getArgument('appid');
$path = (string)$input->getOption('path');
$result = $this->checker->verifyAppSignature($appid, $path);
@ -74,5 +74,6 @@ class CheckApp extends Base {
if (count($result)>0) {
return 1;
}
return 0;
}
}

View File

@ -59,11 +59,12 @@ class CheckCore extends Base {
/**
* {@inheritdoc }
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$result = $this->checker->verifyCoreSignature();
$this->writeArrayInOutputFormat($input, $output, $result);
if (count($result)>0) {
return 1;
}
return 0;
}
}

View File

@ -73,7 +73,7 @@ class SignApp extends Command {
/**
* {@inheritdoc }
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$path = $input->getOption('path');
$privateKeyPath = $input->getOption('privateKey');
$keyBundlePath = $input->getOption('certificate');
@ -82,7 +82,7 @@ class SignApp extends Command {
$output->writeln('This command requires the --path, --privateKey and --certificate.');
$output->writeln('Example: ./occ integrity:sign-app --path="/Users/lukasreschke/Programming/myapp/" --privateKey="/Users/lukasreschke/private/myapp.key" --certificate="/Users/lukasreschke/public/mycert.crt"');
$output->writeln('For more information please consult the documentation: '. $documentationUrl);
return null;
return 1;
}
$privateKey = $this->fileAccessHelper->file_get_contents($privateKeyPath);
@ -90,12 +90,12 @@ class SignApp extends Command {
if ($privateKey === false) {
$output->writeln(sprintf('Private key "%s" does not exists.', $privateKeyPath));
return null;
return 1;
}
if ($keyBundle === false) {
$output->writeln(sprintf('Certificate "%s" does not exists.', $keyBundlePath));
return null;
return 1;
}
$rsa = new RSA();

View File

@ -67,13 +67,13 @@ class SignCore extends Command {
/**
* {@inheritdoc }
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$privateKeyPath = $input->getOption('privateKey');
$keyBundlePath = $input->getOption('certificate');
$path = $input->getOption('path');
if (is_null($privateKeyPath) || is_null($keyBundlePath) || is_null($path)) {
$output->writeln('--privateKey, --certificate and --path are required.');
return null;
return 1;
}
$privateKey = $this->fileAccessHelper->file_get_contents($privateKeyPath);
@ -81,12 +81,12 @@ class SignCore extends Command {
if ($privateKey === false) {
$output->writeln(sprintf('Private key "%s" does not exists.', $privateKeyPath));
return null;
return 1;
}
if ($keyBundle === false) {
$output->writeln(sprintf('Certificate "%s" does not exists.', $keyBundlePath));
return null;
return 1;
}
$rsa = new RSA();

View File

@ -52,14 +52,14 @@ class CreateJs extends Command implements CompletionAwareInterface {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$app = $input->getArgument('app');
$lang = $input->getArgument('lang');
$path = \OC_App::getAppPath($app);
if ($path === false) {
$output->writeln("The app <$app> is unknown.");
return;
return 1;
}
$languages = $lang;
if (empty($lang)) {
@ -69,6 +69,7 @@ class CreateJs extends Command implements CompletionAwareInterface {
foreach ($languages as $lang) {
$this->writeFiles($app, $path, $lang, $output);
}
return 0;
}
private function getAllLanguages($path) {

View File

@ -72,7 +72,7 @@ class File extends Command implements Completion\CompletionAwareInterface {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$toBeSet = [];
if ($input->getOption('enable')) {
@ -115,6 +115,7 @@ class File extends Command implements Completion\CompletionAwareInterface {
$rotateString = 'disabled';
}
$output->writeln('Rotate at: '.$rotateString);
return 0;
}
/**

View File

@ -73,7 +73,7 @@ class Manage extends Command implements CompletionAwareInterface {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
// collate config setting to the end, to avoid partial configuration
$toBeSet = [];
@ -114,6 +114,7 @@ class Manage extends Command implements CompletionAwareInterface {
$timezone = $this->config->getSystemValue('logtimezone', self::DEFAULT_TIMEZONE);
$output->writeln('Log timezone: '.$timezone);
return 0;
}
/**

View File

@ -48,7 +48,8 @@ class DataFingerprint extends Command {
->setDescription('update the systems data-fingerprint after a backup is restored');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$this->config->setSystemValue('data-fingerprint', md5($this->timeFactory->getTime()));
return 0;
}
}

View File

@ -73,7 +73,7 @@ class Install extends Command {
->addOption('data-dir', null, InputOption::VALUE_REQUIRED, 'Path to data directory', \OC::$SERVERROOT."/data");
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
// validate the environment
$server = \OC::$server;

View File

@ -63,7 +63,7 @@ class UpdateDB extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$mappings = $this->mimetypeDetector->getAllMappings();
$totalFilecacheUpdates = 0;
@ -95,5 +95,6 @@ class UpdateDB extends Command {
$output->writeln('Added '.$totalNewMimetypes.' new mimetypes');
$output->writeln('Updated '.$totalFilecacheUpdates.' filecache rows');
return 0;
}
}

View File

@ -48,7 +48,7 @@ class UpdateJS extends Command {
->setDescription('Update mimetypelist.js');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
// Fetch all the aliases
$aliases = $this->mimetypeDetector->getAllAliases();
@ -57,5 +57,6 @@ class UpdateJS extends Command {
file_put_contents(\OC::$SERVERROOT.'/core/js/mimetypelist.js', $generatedMimetypeFile->generateFile($aliases));
$output->writeln('<info>mimetypelist.js is updated');
return 0;
}
}

View File

@ -61,7 +61,7 @@ class Mode extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$maintenanceMode = $this->config->getSystemValueBool('maintenance');
if ($input->getOption('on')) {
if ($maintenanceMode === false) {
@ -84,5 +84,6 @@ class Mode extends Command {
$output->writeln('Maintenance mode is currently disabled');
}
}
return 0;
}
}

View File

@ -79,7 +79,7 @@ class Repair extends Command {
'Use this option when you want to include resource and load expensive tasks');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$repairSteps = $this->repair::getRepairSteps();
if ($input->getOption('include-expensive')) {
@ -126,6 +126,7 @@ class Repair extends Command {
$this->repair->run();
$this->config->setSystemValue('maintenance', $maintenanceMode);
return 0;
}
public function handleRepairFeedBack($event) {

View File

@ -36,7 +36,7 @@ class UpdateHtaccess extends Command {
->setDescription('Updates the .htaccess file');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if (\OC\Setup::updateHtaccess()) {
$output->writeln('.htaccess has been updated');
return 0;

View File

@ -54,7 +54,7 @@ class UpdateTheme extends UpdateJS {
->setDescription('Apply custom theme changes');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
// run mimetypelist.js update since themes might change mimetype icons
parent::execute($input, $output);
@ -62,5 +62,6 @@ class UpdateTheme extends UpdateJS {
$c = $this->cacheFactory->createDistributed('imagePath');
$c->clear('');
$output->writeln('<info>Image cache cleared</info>');
return 0;
}
}

View File

@ -49,17 +49,18 @@ class ImportCertificate extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$path = $input->getArgument('path');
if (!file_exists($path)) {
$output->writeln('<error>certificate not found</error>');
return;
return 1;
}
$certData = file_get_contents($path);
$name = basename($path);
$this->certificateManager->addCertificate($certData, $name);
return 0;
}
}

View File

@ -50,7 +50,7 @@ class ListCertificates extends Base {
parent::configure();
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$outputType = $input->getOption('output');
if ($outputType === self::OUTPUT_FORMAT_JSON || $outputType === self::OUTPUT_FORMAT_JSON_PRETTY) {
$certificates = array_map(function (ICertificate $certificate) {
@ -91,5 +91,6 @@ class ListCertificates extends Base {
$table->setRows($rows);
$table->render();
}
return 0;
}
}

View File

@ -50,9 +50,10 @@ class RemoveCertificate extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$name = $input->getArgument('name');
$this->certificateManager->removeCertificate($name);
return 0;
}
}

View File

@ -49,7 +49,7 @@ class ResetBruteforceAttempts extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$ip = $input->getArgument('ipaddress');
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
@ -58,5 +58,6 @@ class ResetBruteforceAttempts extends Base {
}
$this->throttler->resetDelayForIP($ip);
return 0;
}
}

View File

@ -38,7 +38,7 @@ class Status extends Base {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$values = [
'installed' => (bool) \OC::$server->getConfig()->getSystemValue('installed', false),
'version' => implode('.', \OCP\Util::getVersion()),
@ -47,5 +47,6 @@ class Status extends Base {
];
$this->writeArrayInOutputFormat($input, $output, $values);
return 0;
}
}

View File

@ -50,11 +50,12 @@ class Cleanup extends Base {
$this->addArgument('provider-id', InputArgument::REQUIRED);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$providerId = $input->getArgument('provider-id');
$this->registry->cleanUp($providerId);
$output->writeln("<info>All user-provider associations for provider <options=bold>$providerId</> have been removed.</info>");
return 0;
}
}

View File

@ -52,7 +52,7 @@ class Disable extends Base {
$this->addArgument('provider_id', InputArgument::REQUIRED);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$uid = $input->getArgument('uid');
$providerId = $input->getArgument('provider_id');
$user = $this->userManager->get($uid);

View File

@ -52,7 +52,7 @@ class Enable extends Base {
$this->addArgument('provider_id', InputArgument::REQUIRED);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$uid = $input->getArgument('uid');
$providerId = $input->getArgument('provider_id');
$user = $this->userManager->get($uid);

View File

@ -74,7 +74,7 @@ class Enforce extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if ($input->getOption('on')) {
$enforcedGroups = $input->getOption('group');
$excludedGroups = $input->getOption('exclude');
@ -89,6 +89,7 @@ class Enforce extends Command {
} else {
$this->writeNotEnforced($output);
}
return 0;
}
/**

View File

@ -52,7 +52,7 @@ class State extends Base {
$this->addArgument('uid', InputArgument::REQUIRED);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$uid = $input->getArgument('uid');
$user = $this->userManager->get($uid);
if (is_null($user)) {

View File

@ -83,7 +83,7 @@ class Upgrade extends Command {
* @param InputInterface $input input interface
* @param OutputInterface $output output interface
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
if (Util::needUpgrade()) {
if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) {
// Prepend each line with a little timestamp

View File

@ -85,7 +85,7 @@ class Add extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$uid = $input->getArgument('uid');
if ($this->userManager->userExists($uid)) {
$output->writeln('<error>The user "' . $uid . '" already exists.</error>');
@ -164,5 +164,6 @@ class Add extends Command {
$output->writeln('User "' . $user->getUID() . '" added to group "' . $group->getGID() . '"');
}
}
return 0;
}
}

View File

@ -55,18 +55,19 @@ class Delete extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = $this->userManager->get($input->getArgument('uid'));
if (is_null($user)) {
$output->writeln('<error>User does not exist</error>');
return;
return 0;
}
if ($user->delete()) {
$output->writeln('<info>The specified user was deleted</info>');
return;
return 0;
}
$output->writeln('<error>The specified user could not be deleted. Please check the logs.</error>');
return 1;
}
}

View File

@ -52,14 +52,15 @@ class Disable extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = $this->userManager->get($input->getArgument('uid'));
if (is_null($user)) {
$output->writeln('<error>User does not exist</error>');
return;
return 1;
}
$user->setEnabled(false);
$output->writeln('<info>The specified user is disabled</info>');
return 0;
}
}

View File

@ -52,14 +52,15 @@ class Enable extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = $this->userManager->get($input->getArgument('uid'));
if (is_null($user)) {
$output->writeln('<error>User does not exist</error>');
return;
return 1;
}
$user->setEnabled(true);
$output->writeln('<info>The specified user is enabled</info>');
return 0;
}
}

View File

@ -65,7 +65,7 @@ class Info extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = $this->userManager->get($input->getArgument('user'));
if (is_null($user)) {
$output->writeln('<error>user not found</error>');
@ -85,5 +85,6 @@ class Info extends Base {
'backend' => $user->getBackendClassName()
];
$this->writeArrayInOutputFormat($input, $output, $data);
return 0;
}
}

View File

@ -56,11 +56,11 @@ class LastSeen extends Command {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$user = $this->userManager->get($input->getArgument('uid'));
if (is_null($user)) {
$output->writeln('<error>User does not exist</error>');
return;
return 1;
}
$lastLogin = $user->getLastLogin();
@ -73,5 +73,6 @@ class LastSeen extends Command {
$output->writeln($user->getUID() .
'`s last login: ' . $date->format('d.m.Y H:i'));
}
return 0;
}
}

View File

@ -81,10 +81,11 @@ class ListCommand extends Base {
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$users = $this->userManager->search('', (int) $input->getOption('limit'), (int) $input->getOption('offset'));
$this->writeArrayInOutputFormat($input, $output, $this->formatUsers($users, (bool)$input->getOption('info')));
return 0;
}
/**
@ -96,7 +97,7 @@ class ListCommand extends Base {
$keys = array_map(function (IUser $user) {
return $user->getUID();
}, $users);
$values = array_map(function (IUser $user) use ($detailed) {
if ($detailed) {
$groups = $this->groupManager->getUserGroupIds($user);

View File

@ -51,7 +51,7 @@ class Report extends Command {
->setDescription('shows how many users have access');
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$table = new Table($output);
$table->setHeaders(['User Report', '']);
$userCountArray = $this->countUsers();
@ -75,6 +75,7 @@ class Report extends Command {
$table->setRows($rows);
$table->render();
return 0;
}
private function countUsers() {

View File

@ -67,7 +67,7 @@ class ResetPassword extends Command {
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$username = $input->getArgument('user');
/** @var $user \OCP\IUser */
@ -134,5 +134,6 @@ class ResetPassword extends Command {
$output->writeln("<error>Error while resetting password!</error>");
return 1;
}
return 0;
}
}

View File

@ -158,7 +158,7 @@ class Setting extends Base {
}
}
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
try {
$this->checkInput($input);
} catch (\InvalidArgumentException $e) {