test fixes and changes for release

This commit is contained in:
Dennis Eichhorn 2022-12-25 00:06:17 +01:00
parent c73ac3f268
commit a6aed611d7
4 changed files with 44 additions and 21 deletions

View File

@ -72,20 +72,22 @@ final class ApiController extends Controller
foreach ($workflows as $workflow) { foreach ($workflows as $workflow) {
$hooksFile = $workflow->source->findFile('Hooks.php'); $hooksFile = $workflow->source->findFile('Hooks.php');
if ($hooksFile instanceof NullMedia) { if ($hooksFile instanceof NullMedia) {
continue; continue;
} }
$hooksContent = \file_get_contents($hooksFile->getAbsolutePath()); $hooksContent = \file_get_contents($hooksFile->getAbsolutePath());
$hooks = \json_decode($hooksContent); if ($hooksContent === false) {
continue;
}
$hooks = \json_decode($hooksContent);
if ($hooks === false || $hooks === null) { if ($hooks === false || $hooks === null) {
continue; continue;
} }
foreach ($hooks as $hook) { foreach ($hooks as $hook) {
/** @var array{:triggerGroup?:string} $data */ /** @var array{':triggerGroup'?:string} $data */
$triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0; $triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0;
$matched = false; $matched = false;
@ -300,7 +302,10 @@ final class ApiController extends Controller
RequestAbstract $request, RequestAbstract $request,
ResponseAbstract $response ResponseAbstract $response
) : View { ) : View {
/** @var array{lang?:\Modules\Media\Models\Media, cfg?:\Modules\Media\Models\Media, excel?:\Modules\Media\Models\Media, word?:\Modules\Media\Models\Media, powerpoint?:\Modules\Media\Models\Media, pdf?:\Modules\Media\Models\Media, csv?:\Modules\Media\Models\Media, json?:\Modules\Media\Models\Media, template?:\Modules\Media\Models\Media, css?:array<string, \Modules\Media\Models\Media>, js?:array<string, \Modules\Media\Models\Media>, db?:array<string, \Modules\Media\Models\Media>, other?:array<string, \Modules\Media\Models\Media>} $tcoll */
$tcoll = []; $tcoll = [];
/** @var \Modules\Media\Models\Media[] $files */
$files = $instance->template->source->getSources(); $files = $instance->template->source->getSources();
/** @var \Modules\Media\Models\Media $tMedia */ /** @var \Modules\Media\Models\Media $tMedia */
@ -346,6 +351,10 @@ final class ApiController extends Controller
$tcoll['css'][$tMedia->name] = $tMedia; $tcoll['css'][$tMedia->name] = $tMedia;
break; break;
case StringUtils::endsWith($lowerPath, '.js'): case StringUtils::endsWith($lowerPath, '.js'):
if (!isset($tcoll['js'])) {
$tcoll['js'] = [];
}
$tcoll['js'][$tMedia->name] = $tMedia; $tcoll['js'][$tMedia->name] = $tMedia;
break; break;
case StringUtils::endsWith($lowerPath, '.sqlite'): case StringUtils::endsWith($lowerPath, '.sqlite'):
@ -476,22 +485,6 @@ final class ApiController extends Controller
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Template', 'Template successfully created', $template); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Template', 'Template successfully created', $template);
} }
/**
* Create media directory path
*
* @param WorkflowTemplate $template Workflow template
*
* @return string
*
* @since 1.0.0
*/
private function createTemplateDir(WorkflowTemplate $template) : string
{
return '/Modules/Workflow/'
. $template->getId() . ' '
. $template->name;
}
/** /**
* Validate template create request * Validate template create request
* *

View File

@ -55,7 +55,7 @@ final class CliController extends Controller
$hooks = $workflow->getHooks(); $hooks = $workflow->getHooks();
foreach ($hooks as $hook) { foreach ($hooks as $hook) {
/** @var array{\\:triggerGroup?:string} $data */ /** @var array{':triggerGroup'?:string} $data */
$triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0; $triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0;
$matched = false; $matched = false;
@ -173,7 +173,7 @@ final class CliController extends Controller
} }
/** @var \Modules\Workflow\Models\WorkflowControllerInterface $controller */ /** @var \Modules\Workflow\Models\WorkflowControllerInterface $controller */
$instance = $controller->createInstanceFromRequest($request); $instance = $controller->createInstanceFromRequest($request, $template);
$controller->createInstanceDbModel($instance); $controller->createInstanceDbModel($instance);
return $instance; return $instance;

View File

@ -116,4 +116,15 @@ class WorkflowTemplate
{ {
return $this->id; return $this->id;
} }
/**
* Get hooks
*
* @return array
* @since 1.0.0
*/
public function getHooks() : array
{
return [];
}
} }

View File

@ -257,6 +257,25 @@ $CONFIG = [
'root' => '/', 'root' => '/',
'https' => false, 'https' => false,
], ],
'app' => [
'path' => __DIR__,
'default' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
'domains' => [
'127.0.0.1' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
],
],
'socket' => [ 'socket' => [
'master' => [ 'master' => [
'host' => '127.0.0.1', 'host' => '127.0.0.1',