mirror of
https://github.com/nextcloud/server.git
synced 2025-04-29 03:20:29 +00:00
feat: add occ command for task type toggling
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
This commit is contained in:
parent
129af480ac
commit
a7f26cf966
5 changed files with 72 additions and 0 deletions
core
lib/composer/composer
60
core/Command/TaskProcessing/EnabledCommand.php
Normal file
60
core/Command/TaskProcessing/EnabledCommand.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
namespace OC\Core\Command\TaskProcessing;
|
||||
|
||||
use OC\Core\Command\Base;
|
||||
use OCP\IConfig;
|
||||
use OCP\TaskProcessing\IManager;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class EnabledCommand extends Base {
|
||||
public function __construct(
|
||||
protected IManager $taskProcessingManager,
|
||||
private IConfig $config,
|
||||
) {
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
protected function configure() {
|
||||
$this
|
||||
->setName('taskprocessing:task:set-enabled')
|
||||
->setDescription('Enable or disable a task type')
|
||||
->addArgument(
|
||||
'task-type-id',
|
||||
InputArgument::REQUIRED,
|
||||
'ID of the task type to configure'
|
||||
)
|
||||
->addArgument(
|
||||
'enabled',
|
||||
InputArgument::REQUIRED,
|
||||
'status of the task type availability. Set 1 to enable and 0 to disable.'
|
||||
);
|
||||
parent::configure();
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$enabled = (bool)$input->getArgument('enabled');
|
||||
$taskType = $input->getArgument('task-type-id');
|
||||
$json = $this->config->getAppValue('core', 'ai.taskprocessing_type_preferences');
|
||||
if ($json === '') {
|
||||
$taskTypeSettings = [];
|
||||
} else {
|
||||
$taskTypeSettings = json_decode($json, true);
|
||||
}
|
||||
if ($enabled) {
|
||||
$taskTypeSettings[$taskType] = true;
|
||||
} else {
|
||||
$taskTypeSettings[$taskType] = false;
|
||||
}
|
||||
|
||||
|
||||
$this->config->setAppValue('core', 'ai.taskprocessing_type_preferences', json_encode($taskTypeSettings));
|
||||
$this->writeArrayInOutputFormat($input, $output, $taskTypeSettings);
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -147,6 +147,7 @@ if ($config->getSystemValueBool('installed', false)) {
|
|||
$application->add(Server::get(Command\FilesMetadata\Get::class));
|
||||
|
||||
$application->add(Server::get(Command\TaskProcessing\GetCommand::class));
|
||||
$application->add(Server::get(Command\TaskProcessing\EnabledCommand::class));
|
||||
$application->add(Server::get(Command\TaskProcessing\ListCommand::class));
|
||||
$application->add(Server::get(Command\TaskProcessing\Statistics::class));
|
||||
|
||||
|
|
|
@ -1266,6 +1266,7 @@ return array(
|
|||
'OC\\Core\\Command\\SystemTag\\Delete' => $baseDir . '/core/Command/SystemTag/Delete.php',
|
||||
'OC\\Core\\Command\\SystemTag\\Edit' => $baseDir . '/core/Command/SystemTag/Edit.php',
|
||||
'OC\\Core\\Command\\SystemTag\\ListCommand' => $baseDir . '/core/Command/SystemTag/ListCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\EnabledCommand' => $baseDir . '/core/Command/TaskProcessing/EnabledCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\GetCommand' => $baseDir . '/core/Command/TaskProcessing/GetCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => $baseDir . '/core/Command/TaskProcessing/ListCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\Statistics' => $baseDir . '/core/Command/TaskProcessing/Statistics.php',
|
||||
|
|
|
@ -10,5 +10,6 @@ return array(
|
|||
'OC\\' => array($baseDir . '/lib/private'),
|
||||
'OCP\\' => array($baseDir . '/lib/public'),
|
||||
'NCU\\' => array($baseDir . '/lib/unstable'),
|
||||
'Bamarni\\Composer\\Bin\\' => array($vendorDir . '/bamarni/composer-bin-plugin/src'),
|
||||
'' => array($baseDir . '/lib/private/legacy'),
|
||||
);
|
||||
|
|
|
@ -21,6 +21,10 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
array (
|
||||
'NCU\\' => 4,
|
||||
),
|
||||
'B' =>
|
||||
array (
|
||||
'Bamarni\\Composer\\Bin\\' => 21,
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
|
@ -40,6 +44,10 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
array (
|
||||
0 => __DIR__ . '/../../..' . '/lib/unstable',
|
||||
),
|
||||
'Bamarni\\Composer\\Bin\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/bamarni/composer-bin-plugin/src',
|
||||
),
|
||||
);
|
||||
|
||||
public static $fallbackDirsPsr4 = array (
|
||||
|
@ -1307,6 +1315,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC\\Core\\Command\\SystemTag\\Delete' => __DIR__ . '/../../..' . '/core/Command/SystemTag/Delete.php',
|
||||
'OC\\Core\\Command\\SystemTag\\Edit' => __DIR__ . '/../../..' . '/core/Command/SystemTag/Edit.php',
|
||||
'OC\\Core\\Command\\SystemTag\\ListCommand' => __DIR__ . '/../../..' . '/core/Command/SystemTag/ListCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\EnabledCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/EnabledCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\GetCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/GetCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/ListCommand.php',
|
||||
'OC\\Core\\Command\\TaskProcessing\\Statistics' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/Statistics.php',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue