mirror of
https://github.com/nextcloud/server.git
synced 2025-08-28 14:20:52 +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\FilesMetadata\Get::class));
|
||||||
|
|
||||||
$application->add(Server::get(Command\TaskProcessing\GetCommand::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\ListCommand::class));
|
||||||
$application->add(Server::get(Command\TaskProcessing\Statistics::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\\Delete' => $baseDir . '/core/Command/SystemTag/Delete.php',
|
||||||
'OC\\Core\\Command\\SystemTag\\Edit' => $baseDir . '/core/Command/SystemTag/Edit.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\\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\\GetCommand' => $baseDir . '/core/Command/TaskProcessing/GetCommand.php',
|
||||||
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => $baseDir . '/core/Command/TaskProcessing/ListCommand.php',
|
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => $baseDir . '/core/Command/TaskProcessing/ListCommand.php',
|
||||||
'OC\\Core\\Command\\TaskProcessing\\Statistics' => $baseDir . '/core/Command/TaskProcessing/Statistics.php',
|
'OC\\Core\\Command\\TaskProcessing\\Statistics' => $baseDir . '/core/Command/TaskProcessing/Statistics.php',
|
||||||
|
|
|
@ -10,5 +10,6 @@ return array(
|
||||||
'OC\\' => array($baseDir . '/lib/private'),
|
'OC\\' => array($baseDir . '/lib/private'),
|
||||||
'OCP\\' => array($baseDir . '/lib/public'),
|
'OCP\\' => array($baseDir . '/lib/public'),
|
||||||
'NCU\\' => array($baseDir . '/lib/unstable'),
|
'NCU\\' => array($baseDir . '/lib/unstable'),
|
||||||
|
'Bamarni\\Composer\\Bin\\' => array($vendorDir . '/bamarni/composer-bin-plugin/src'),
|
||||||
'' => array($baseDir . '/lib/private/legacy'),
|
'' => array($baseDir . '/lib/private/legacy'),
|
||||||
);
|
);
|
||||||
|
|
|
@ -21,6 +21,10 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
||||||
array (
|
array (
|
||||||
'NCU\\' => 4,
|
'NCU\\' => 4,
|
||||||
),
|
),
|
||||||
|
'B' =>
|
||||||
|
array (
|
||||||
|
'Bamarni\\Composer\\Bin\\' => 21,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
public static $prefixDirsPsr4 = array (
|
public static $prefixDirsPsr4 = array (
|
||||||
|
@ -40,6 +44,10 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
||||||
array (
|
array (
|
||||||
0 => __DIR__ . '/../../..' . '/lib/unstable',
|
0 => __DIR__ . '/../../..' . '/lib/unstable',
|
||||||
),
|
),
|
||||||
|
'Bamarni\\Composer\\Bin\\' =>
|
||||||
|
array (
|
||||||
|
0 => __DIR__ . '/..' . '/bamarni/composer-bin-plugin/src',
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
public static $fallbackDirsPsr4 = array (
|
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\\Delete' => __DIR__ . '/../../..' . '/core/Command/SystemTag/Delete.php',
|
||||||
'OC\\Core\\Command\\SystemTag\\Edit' => __DIR__ . '/../../..' . '/core/Command/SystemTag/Edit.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\\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\\GetCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/GetCommand.php',
|
||||||
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/ListCommand.php',
|
'OC\\Core\\Command\\TaskProcessing\\ListCommand' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/ListCommand.php',
|
||||||
'OC\\Core\\Command\\TaskProcessing\\Statistics' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/Statistics.php',
|
'OC\\Core\\Command\\TaskProcessing\\Statistics' => __DIR__ . '/../../..' . '/core/Command/TaskProcessing/Statistics.php',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue