mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 00:32:29 -04:00
feat(textprocessing): factorize taskProcessingCompatibleTaskTypes
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
This commit is contained in:
parent
67437d0325
commit
70db4f51db
1 changed files with 11 additions and 22 deletions
|
|
@ -44,6 +44,13 @@ class Manager implements IManager {
|
|||
/** @var ?IProvider[] */
|
||||
private ?array $providers = null;
|
||||
|
||||
private static array $taskProcessingCompatibleTaskTypes = [
|
||||
FreePromptTaskType::class => TextToText::ID,
|
||||
HeadlineTaskType::class => TextToTextHeadline::ID,
|
||||
SummaryTaskType::class => TextToTextSummary::ID,
|
||||
TopicsTaskType::class => TextToTextTopics::ID,
|
||||
];
|
||||
|
||||
public function __construct(
|
||||
private IServerContainer $serverContainer,
|
||||
private Coordinator $coordinator,
|
||||
|
|
@ -84,13 +91,7 @@ class Manager implements IManager {
|
|||
public function hasProviders(): bool {
|
||||
// check if task processing equivalent types are available
|
||||
$taskTaskTypes = $this->taskProcessingManager->getAvailableTaskTypes();
|
||||
$taskProcessingCompatibleTaskTypes = [
|
||||
FreePromptTaskType::class => TextToText::ID,
|
||||
HeadlineTaskType::class => TextToTextHeadline::ID,
|
||||
SummaryTaskType::class => TextToTextSummary::ID,
|
||||
TopicsTaskType::class => TextToTextTopics::ID,
|
||||
];
|
||||
foreach ($taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) {
|
||||
foreach (self::$taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) {
|
||||
if (isset($taskTaskTypes[$taskTaskTypeId])) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -114,13 +115,7 @@ class Manager implements IManager {
|
|||
|
||||
// check if task processing equivalent types are available
|
||||
$taskTaskTypes = $this->taskProcessingManager->getAvailableTaskTypes();
|
||||
$taskProcessingCompatibleTaskTypes = [
|
||||
FreePromptTaskType::class => TextToText::ID,
|
||||
HeadlineTaskType::class => TextToTextHeadline::ID,
|
||||
SummaryTaskType::class => TextToTextSummary::ID,
|
||||
TopicsTaskType::class => TextToTextTopics::ID,
|
||||
];
|
||||
foreach ($taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) {
|
||||
foreach (self::$taskProcessingCompatibleTaskTypes as $textTaskTypeClass => $taskTaskTypeId) {
|
||||
if (isset($taskTaskTypes[$taskTaskTypeId])) {
|
||||
$tasks[$textTaskTypeClass] = true;
|
||||
}
|
||||
|
|
@ -139,15 +134,9 @@ class Manager implements IManager {
|
|||
public function runTask(OCPTask $task): string {
|
||||
// try to run a task processing task if possible
|
||||
$taskTypeClass = $task->getType();
|
||||
$taskProcessingCompatibleTaskTypes = [
|
||||
FreePromptTaskType::class => TextToText::ID,
|
||||
HeadlineTaskType::class => TextToTextHeadline::ID,
|
||||
SummaryTaskType::class => TextToTextSummary::ID,
|
||||
TopicsTaskType::class => TextToTextTopics::ID,
|
||||
];
|
||||
if (isset($taskProcessingCompatibleTaskTypes[$taskTypeClass]) && isset($this->taskProcessingManager->getAvailableTaskTypes()[$taskProcessingCompatibleTaskTypes[$taskTypeClass]])) {
|
||||
if (isset(self::$taskProcessingCompatibleTaskTypes[$taskTypeClass]) && isset($this->taskProcessingManager->getAvailableTaskTypes()[self::$taskProcessingCompatibleTaskTypes[$taskTypeClass]])) {
|
||||
try {
|
||||
$taskProcessingTaskTypeId = $taskProcessingCompatibleTaskTypes[$taskTypeClass];
|
||||
$taskProcessingTaskTypeId = self::$taskProcessingCompatibleTaskTypes[$taskTypeClass];
|
||||
$taskProcessingTask = new \OCP\TaskProcessing\Task(
|
||||
$taskProcessingTaskTypeId,
|
||||
['input' => $task->getInput()],
|
||||
|
|
|
|||
Loading…
Reference in a new issue