fix: [workflows] Clean up and removed unused code

pull/8530/head
Sami Mokaddem 2022-07-25 13:41:13 +02:00
parent 510e682b20
commit b8a9bedcbc
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
6 changed files with 3 additions and 147 deletions

View File

@ -1,51 +0,0 @@
<?php
App::uses('BackgroundJobsTool', 'Tools');
require_once 'AppShell.php';
/**
* @property Job $Job
* @property User $User
*/
class ModuleShell extends AppShell
{
public $uses = array('Module', 'User', 'Job', 'Server');
public function execute_action_module()
{
if (!isset($this->args[0]) || empty($this->args[1]) || empty($this->args[2])) {
die('Usage: ' . $this->Server->command_line_functions['console_automation_tasks']['data']['Execute Action Module'] . PHP_EOL);
}
$userId = $this->args[0];
$data = $this->args[1];
if (!empty($this->args[2])) {
$jobId = $this->args[2];
} else {
$jobId = $this->Job->createJob(null, Job::WORKER_PRIO, 'execute_action_module', 'Module: ' . $data["module"], 'Executing...');
}
$this->Job->read(null, $jobId);
$result = $this->Module->executeAction($data);
if (empty($result['data']) || !empty($result['error'])) {
$message = empty($result['error']) ? __('Execution failed for module %s.', $data['module']) : $result['error'];
$this->Job->saveStatus($jobId, false, $message);
} else {
$message = 'Job done.';
$this->Job->saveStatus($jobId, true, $message);
$this->Job->saveProgress($jobId, $message, 100);
}
}
/**
* @param int $userId
* @return array
*/
private function getUser($userId)
{
$user = $this->User->getAuthUser($userId);
if (empty($user)) {
$this->error('User ID do not match an existing user.');
}
return $user;
}
}

View File

@ -393,90 +393,4 @@ class Module extends AppModel
}
return $result;
}
public function executeActions($type, $user, $input, $logData, &$error = null)
{
$modules = $this->getEnabledModules($user, null, $moduleFamily = 'Action');
$sorted_modules = [];
if (empty($modules) || !is_array($modules)) {
return true;
}
foreach ($modules['modules'] as $k => &$module) {
if (!in_array($type, $module['mispattributes']['hooks'])) {
//unset($modules['modules'][$k]);
continue;
}
$settingPath = 'Plugin.' . $module['name'] . '_';
$module['weight'] = Configure::check($settingPath . 'weight') ? Configure::read($settingPath . 'weight') : 0;
$module['filters'] = Configure::check($settingPath . 'filters') ? json_decode(Configure::read($settingPath . 'filters'), true) : [];
foreach ($module['meta']['config'] as $settingName => $settingData) {
$module['config'][$settingName] = Configure::check($settingPath . $settingName) ? Configure::read($settingPath . $settingName) : $settingData['value'];
}
$sorted_modules[$module['weight']][] = $module;
}
krsort($sorted_modules);
foreach ($sorted_modules as $weight => $modules) {
foreach ($modules as $module) {
$data = [
'module' => $module['name'],
'config' => empty($module['config']) ? [] : $module['config'],
'data' => $input
];
if (empty($module['mispattributes']['blocking'])) {
$this->enqueueAction($data, $user);
return true;
} else {
$result = $this->executeAction($data);
if (empty($result['data']) || !empty($result['error'])) {
$error = empty($result['error']) ? __('Execution failed for module %s.', $module['name']) : $result['error'];
return false;
}
}
}
}
return true;
}
public function enqueueAction($data, $user)
{
/** @var Job $job */
$job = ClassRegistry::init('Job');
$jobId = $job->createJob($user, Job::WORKER_PRIO, 'execute_action_module', 'Module: ' . $data["module"], 'Executing...');
$args = [
'execute_action_module',
$user['id'],
$data,
$jobId
];
$this->getBackgroundJobsTool()->enqueue(
BackgroundJobsTool::PRIO_QUEUE,
BackgroundJobsTool::CMD_MODULE,
$args,
true,
$jobId
);
return true;
}
public function executeAction($data)
{
$result = $this->queryModuleServer($data, false, 'Action');
if (!empty($result['error'])) {
$this->loadLog()->createLogEntry(
'SYSTEM',
'warning',
empty($logData['model']) ? 'Module' : $logData['model'],
empty($logData['id']) ? 0 : $logData['id'],
sprintf(
'Executing %s action module on failed.',
$type
),
sprintf(
'Returned error: %s',
$result['error']
)
);
}
return $result;
}
}

View File

@ -7167,13 +7167,6 @@ class Server extends AppModel
'test' => 'testBool',
'type' => 'boolean'
),
// 'Workflow_triggers_publish' => array(
// 'level' => 1,
// 'description' => __('Enable/disable the `publish` trigger'),
// 'value' => false,
// 'test' => 'testBool',
// 'type' => 'boolean'
// ),
'Cortex_services_url' => array(
'level' => 1,
'description' => __('The url used to access Cortex. By default, it is accessible at http://cortex-url'),

View File

@ -140,4 +140,4 @@ class WorkflowBlueprint extends AppModel
$mermaid = MermaidFlowchartTool::mermaid($workflowBlueprintData);
return $mermaid;
}
}
}

View File

@ -235,4 +235,4 @@ class WorkflowBaseLogicModule extends WorkflowBaseModule
class WorkflowBaseActionModule extends WorkflowBaseModule
{
}
}

View File

@ -16,4 +16,4 @@ class Module_publish extends WorkflowBaseTriggerModule
{
parent::__construct();
}
}
}