From 0aa900f66b33c023c37822d802181f53abcfbee3 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Wed, 19 Sep 2018 21:34:04 +0200 Subject: [PATCH] Split controllers per application --- Admin/Routes/Web/Backend.php | 34 ++-- Controller/ApiController.php | 160 +++++++++++++++++ .../BackendController.php | 166 +----------------- Controller/Controller.php | 96 ++++++++++ 4 files changed, 275 insertions(+), 181 deletions(-) create mode 100644 Controller/ApiController.php rename Controller.php => Controller/BackendController.php (63%) create mode 100644 Controller/Controller.php diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index 0b4cc34..5179007 100644 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -3,15 +3,15 @@ use phpOMS\Router\RouteVerb; use phpOMS\Account\PermissionType; use Modules\Knowledgebase\Models\PermissionState; -use Modules\Knowledgebase\Controller; +use Modules\Knowledgebase\Controller\BackendController; return [ '^.*/backend/wiki.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:setUpBackend', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:setUpBackend', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::WIKI, ], @@ -19,10 +19,10 @@ return [ ], '^.*/backend/wiki/dashboard.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseDashboard', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseDashboard', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::WIKI, ], @@ -30,10 +30,10 @@ return [ ], '^.*/backend/wiki/category/list.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseCategoryList', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseCategoryList', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::CATEGORY, ], @@ -41,10 +41,10 @@ return [ ], '^.*/backend/wiki/category/single.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseCategory', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseCategory', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::CATEGORY, ], @@ -52,10 +52,10 @@ return [ ], '^.*/backend/wiki/category/create.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseCategoryCreate', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseCategoryCreate', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::CREATE, 'state' => PermissionState::CATEGORY, ], @@ -63,10 +63,10 @@ return [ ], '^.*/backend/wiki/doc/single.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseDoc', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseDoc', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::WIKI, ], @@ -74,10 +74,10 @@ return [ ], '^.*/backend/wiki/doc/create.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseDocCreate', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseDocCreate', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::CREATE, 'state' => PermissionState::WIKI, ], @@ -85,10 +85,10 @@ return [ ], '^.*/backend/wiki/doc/list.*$' => [ [ - 'dest' => '\Modules\Knowledgebase\Controller:viewKnowledgebaseDocList', + 'dest' => '\Modules\Knowledgebase\Controller\BackendController:viewKnowledgebaseDocList', 'verb' => RouteVerb::GET, 'permission' => [ - 'module' => Controller::MODULE_NAME, + 'module' => BackendController::MODULE_NAME, 'type' => PermissionType::READ, 'state' => PermissionState::WIKI, ], diff --git a/Controller/ApiController.php b/Controller/ApiController.php new file mode 100644 index 0000000..1452120 --- /dev/null +++ b/Controller/ApiController.php @@ -0,0 +1,160 @@ +validateWikiDocCreate($request))) { + $response->set('wiki_doc_create', new FormValidation($val)); + + return; + } + + $doc = $this->createWikiDocFromRquest($request); + WikiDocMapper::create($doc); + $response->set('doc', $doc->jsonSerialize()); + } + + public function createWikiDocFromRquest(RequestAbstract $request) : WikiDoc + { + $mardkownParser = new Markdown(); + + $doc = new WikiDoc(); + $doc->setName((string) $request->getData('title')); + $doc->setDoc((string) $request->getData('plain')); + $doc->setCategory((int) $request->getData('category')); + $doc->setStatus((int) $request->getData('status')); + + return $doc; + } + + private function validateWikiDocCreate(RequestAbstract $request) : array + { + $val = []; + if (($val['title'] = empty($request->getData('title'))) + || ($val['plain'] = empty($request->getData('plain'))) + || ($val['category'] = empty($request->getData('category'))) + || ($val['status'] = ( + $request->getData('status') !== null + && !WikiStatus::isValidValue((int) $request->getData('status')) + )) + ) { + return $val; + } + + return []; + } + + public function apiWikiCategoryCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void + { + if (!empty($val = $this->validateWikiCategoryCreate($request))) { + $response->set('wiki_category_create', new FormValidation($val)); + + return; + } + + $category = $this->createWikiCategoryFromRquest($request); + WikiCategoryMapper::create($category); + $response->set('category', $category->jsonSerialize()); + } + + public function createWikiCategoryFromRquest(RequestAbstract $request) : WikiCategory + { + $mardkownParser = new Markdown(); + + $category = new WikiCategory(); + $category->setName((string) $request->getData('title')); + $category->setParent((int) $request->getData('parent')); + + return $category; + } + + private function validateWikiCategoryCreate(RequestAbstract $request) : array + { + $val = []; + if (($val['title'] = empty($request->getData('title'))) + || ($val['parent'] = empty($request->getData('parent'))) + ) { + return $val; + } + + return []; + } + + public function apiWikiBadgeCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void + { + if (!empty($val = $this->validateWikiBadgeCreate($request))) { + $response->set('wiki_badge_create', new FormValidation($val)); + + return; + } + + $badge = $this->createWikiBadgeFromRquest($request); + WikiBadgeMapper::create($badge); + $response->set('badge', $badge->jsonSerialize()); + } + + public function createWikiBadgeFromRquest(RequestAbstract $request) : WikiBadge + { + $mardkownParser = new Markdown(); + + $badge = new WikiBadge(); + $badge->setName((string) $request->getData('title')); + + return $badge; + } + + private function validateWikiBadgeCreate(RequestAbstract $request) : array + { + $val = []; + if (($val['title'] = empty($request->getData('title'))) + ) { + return $val; + } + + return []; + } +} diff --git a/Controller.php b/Controller/BackendController.php similarity index 63% rename from Controller.php rename to Controller/BackendController.php index c913030..a4b2a7e 100644 --- a/Controller.php +++ b/Controller/BackendController.php @@ -12,7 +12,7 @@ */ declare(strict_types=1); -namespace Modules\Knowledgebase; +namespace Modules\Knowledgebase\Controller; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; @@ -42,58 +42,9 @@ use Modules\Knowledgebase\Models\PermissionState; * @link http://website.orange-management.de * @since 1.0.0 */ -final class Controller extends ModuleAbstract implements WebInterface +class BackendController extends Controller { - /** - * Module path. - * - * @var string - * @since 1.0.0 - */ - public const MODULE_PATH = __DIR__; - - /** - * Module version. - * - * @var string - * @since 1.0.0 - */ - public const MODULE_VERSION = '1.0.0'; - - /** - * Module name. - * - * @var string - * @since 1.0.0 - */ - public const MODULE_NAME = 'Knowledgebase'; - - /** - * Module id. - * - * @var int - * @since 1.0.0 - */ - public const MODULE_ID = 1005900000; - - /** - * Providing. - * - * @var string[] - * @since 1.0.0 - */ - protected static $providing = []; - - /** - * Dependencies. - * - * @var string[] - * @since 1.0.0 - */ - protected static $dependencies = [ - ]; - /** * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -276,117 +227,4 @@ final class Controller extends ModuleAbstract implements WebInterface return $view; } - - public function apiWikiDocCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void - { - if (!empty($val = $this->validateWikiDocCreate($request))) { - $response->set('wiki_doc_create', new FormValidation($val)); - - return; - } - - $doc = $this->createWikiDocFromRquest($request); - WikiDocMapper::create($doc); - $response->set('doc', $doc->jsonSerialize()); - } - - public function createWikiDocFromRquest(RequestAbstract $request) : WikiDoc - { - $mardkownParser = new Markdown(); - - $doc = new WikiDoc(); - $doc->setName((string) $request->getData('title')); - $doc->setDoc((string) $request->getData('plain')); - $doc->setCategory((int) $request->getData('category')); - $doc->setStatus((int) $request->getData('status')); - - return $doc; - } - - private function validateWikiDocCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = empty($request->getData('title'))) - || ($val['plain'] = empty($request->getData('plain'))) - || ($val['category'] = empty($request->getData('category'))) - || ($val['status'] = ( - $request->getData('status') !== null - && !WikiStatus::isValidValue((int) $request->getData('status')) - )) - ) { - return $val; - } - - return []; - } - - public function apiWikiCategoryCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void - { - if (!empty($val = $this->validateWikiCategoryCreate($request))) { - $response->set('wiki_category_create', new FormValidation($val)); - - return; - } - - $category = $this->createWikiCategoryFromRquest($request); - WikiCategoryMapper::create($category); - $response->set('category', $category->jsonSerialize()); - } - - public function createWikiCategoryFromRquest(RequestAbstract $request) : WikiCategory - { - $mardkownParser = new Markdown(); - - $category = new WikiCategory(); - $category->setName((string) $request->getData('title')); - $category->setParent((int) $request->getData('parent')); - - return $category; - } - - private function validateWikiCategoryCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = empty($request->getData('title'))) - || ($val['parent'] = empty($request->getData('parent'))) - ) { - return $val; - } - - return []; - } - - public function apiWikiBadgeCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void - { - if (!empty($val = $this->validateWikiBadgeCreate($request))) { - $response->set('wiki_badge_create', new FormValidation($val)); - - return; - } - - $badge = $this->createWikiBadgeFromRquest($request); - WikiBadgeMapper::create($badge); - $response->set('badge', $badge->jsonSerialize()); - } - - public function createWikiBadgeFromRquest(RequestAbstract $request) : WikiBadge - { - $mardkownParser = new Markdown(); - - $badge = new WikiBadge(); - $badge->setName((string) $request->getData('title')); - - return $badge; - } - - private function validateWikiBadgeCreate(RequestAbstract $request) : array - { - $val = []; - if (($val['title'] = empty($request->getData('title'))) - ) { - return $val; - } - - return []; - } } diff --git a/Controller/Controller.php b/Controller/Controller.php new file mode 100644 index 0000000..ead20c0 --- /dev/null +++ b/Controller/Controller.php @@ -0,0 +1,96 @@ +