From a6aed611d79d4f6e74f59d1d60a51d6861255a73 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 25 Dec 2022 00:06:17 +0100 Subject: [PATCH] test fixes and changes for release --- Controller/ApiController.php | 31 ++++++++++++------------------- Controller/CliController.php | 4 ++-- Models/WorkflowTemplate.php | 11 +++++++++++ tests/Bootstrap.php | 19 +++++++++++++++++++ 4 files changed, 44 insertions(+), 21 deletions(-) diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 6890a6f..6b6a7ea 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -72,20 +72,22 @@ final class ApiController extends Controller foreach ($workflows as $workflow) { $hooksFile = $workflow->source->findFile('Hooks.php'); - if ($hooksFile instanceof NullMedia) { continue; } $hooksContent = \file_get_contents($hooksFile->getAbsolutePath()); - $hooks = \json_decode($hooksContent); + if ($hooksContent === false) { + continue; + } + $hooks = \json_decode($hooksContent); if ($hooks === false || $hooks === null) { continue; } foreach ($hooks as $hook) { - /** @var array{:triggerGroup?:string} $data */ + /** @var array{':triggerGroup'?:string} $data */ $triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0; $matched = false; @@ -300,7 +302,10 @@ final class ApiController extends Controller RequestAbstract $request, ResponseAbstract $response ) : 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, js?:array, db?:array, other?:array} $tcoll */ $tcoll = []; + + /** @var \Modules\Media\Models\Media[] $files */ $files = $instance->template->source->getSources(); /** @var \Modules\Media\Models\Media $tMedia */ @@ -346,6 +351,10 @@ final class ApiController extends Controller $tcoll['css'][$tMedia->name] = $tMedia; break; case StringUtils::endsWith($lowerPath, '.js'): + if (!isset($tcoll['js'])) { + $tcoll['js'] = []; + } + $tcoll['js'][$tMedia->name] = $tMedia; break; 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); } - /** - * 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 * diff --git a/Controller/CliController.php b/Controller/CliController.php index 9a58d3d..ebebba0 100755 --- a/Controller/CliController.php +++ b/Controller/CliController.php @@ -55,7 +55,7 @@ final class CliController extends Controller $hooks = $workflow->getHooks(); foreach ($hooks as $hook) { - /** @var array{\\:triggerGroup?:string} $data */ + /** @var array{':triggerGroup'?:string} $data */ $triggerIsRegex = \stripos($data['@triggerGroup'], '/') === 0; $matched = false; @@ -173,7 +173,7 @@ final class CliController extends Controller } /** @var \Modules\Workflow\Models\WorkflowControllerInterface $controller */ - $instance = $controller->createInstanceFromRequest($request); + $instance = $controller->createInstanceFromRequest($request, $template); $controller->createInstanceDbModel($instance); return $instance; diff --git a/Models/WorkflowTemplate.php b/Models/WorkflowTemplate.php index 5a8165b..9d07e45 100755 --- a/Models/WorkflowTemplate.php +++ b/Models/WorkflowTemplate.php @@ -116,4 +116,15 @@ class WorkflowTemplate { return $this->id; } + + /** + * Get hooks + * + * @return array + * @since 1.0.0 + */ + public function getHooks() : array + { + return []; + } } diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php index d46fd31..b5d36a8 100755 --- a/tests/Bootstrap.php +++ b/tests/Bootstrap.php @@ -257,6 +257,25 @@ $CONFIG = [ 'root' => '/', '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' => [ 'master' => [ 'host' => '127.0.0.1',