Impl. console/cli draft

This commit is contained in:
Dennis Eichhorn 2022-03-11 23:20:51 +01:00
parent 7106207f0a
commit e9473abba5
9 changed files with 117 additions and 24 deletions

View File

@ -633,9 +633,33 @@
"default": null,
"null": true
},
"group_permission_permission": {
"name": "group_permission_permission",
"type": "INT",
"group_permission_hasread": {
"name": "group_permission_hasread",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"group_permission_hascreate": {
"name": "group_permission_hascreate",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"group_permission_hasmodify": {
"name": "group_permission_hasmodify",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"group_permission_hasdelete": {
"name": "group_permission_hasdelete",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"group_permission_haspermission": {
"name": "group_permission_haspermission",
"type": "TINYINT(1)",
"default": null,
"null": true
}
@ -857,9 +881,33 @@
"default": null,
"null": true
},
"account_permission_permission": {
"name": "account_permission_permission",
"type": "INT",
"account_permission_hasread": {
"name": "account_permission_hasread",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"account_permission_hascreate": {
"name": "account_permission_hascreate",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"account_permission_hasmodify": {
"name": "account_permission_hasmodify",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"account_permission_hasdelete": {
"name": "account_permission_hasdelete",
"type": "TINYINT(1)",
"default": null,
"null": true
},
"account_permission_haspermission": {
"name": "account_permission_haspermission",
"type": "TINYINT(1)",
"default": null,
"null": true
}

18
Admin/Routes/Cli.php Executable file
View File

@ -0,0 +1,18 @@
<?php declare(strict_types=1);
use phpOMS\Router\RouteVerb;
return [
'^$' => [
[
'dest' => '\Modules\Admin\Controller\CliController:viewEmptyCommand',
'verb' => RouteVerb::ANY,
],
],
'^/admin/event.*$' => [
[
'dest' => '\Modules\Admin\Controller\CliController:cliRunEvent',
'verb' => RouteVerb::ANY,
],
],
];

View File

@ -1,12 +0,0 @@
<?php declare(strict_types=1);
use phpOMS\Router\RouteVerb;
return [
'^$' => [
[
'dest' => '\Modules\Admin\ConsoleController:viewEmptyCommand',
'verb' => RouteVerb::ANY,
],
],
];

View File

@ -63,6 +63,7 @@ use phpOMS\Module\ModuleInfo;
use phpOMS\Module\ModuleStatus;
use phpOMS\System\File\Local\File;
use phpOMS\System\MimeType;
use phpOMS\System\SystemUtils;
use phpOMS\Uri\HttpUri;
use phpOMS\Uri\UriFactory;
use phpOMS\Utils\Parser\Markdown\Markdown;
@ -1825,7 +1826,7 @@ final class ApiController extends Controller
}
}
if (\is_file($path = __DIR__ . '/../../../Console/Routes.php')) {
if (\is_file($path = __DIR__ . '/../../../Cli/Routes.php')) {
\file_put_contents($path, '<?php return [];');
}

View File

@ -79,7 +79,7 @@ final class BackendController extends Controller
public function viewEmptyCommand(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Admin/Theme/Console/empty-command');
$view->setTemplate('/Modules/Admin/Theme/Cli/empty-command');
return $view;
}

View File

@ -29,7 +29,7 @@ use phpOMS\Views\View;
* @link https://karaka.app
* @since 1.0.0
*/
final class ConsoleController extends Controller
final class CliController extends Controller
{
/**
* Method which generates the general settings view.
@ -49,7 +49,37 @@ final class ConsoleController extends Controller
public function viewEmptyCommand(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Admin/Theme/Console/empty-command');
$view->setTemplate('/Modules/Admin/Theme/Cli/empty-command');
return $view;
}
/**
* Find and run events
*
* This is mostly used by the web applications to offload searching for event hooks and of course running the events which might take a long time for complex events.
*
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return RenderableInterface Response can be rendered
*
* @since 1.0.0
* @codeCoverageIgnore
*/
public function cliRunEvent(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$event = $this->app->eventManager->triggerSimilar(
$request->getData('g'),
$request->getData('i'),
\json_decode($request->getData('d'), true)
);
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Admin/Theme/Cli/event-result');
$view->setData('event', $event);
return $view;
}

View File

@ -42,7 +42,11 @@ final class AccountPermissionMapper extends DataMapperFactory
'account_permission_type' => ['name' => 'account_permission_type', 'type' => 'int', 'internal' => 'type'],
'account_permission_element' => ['name' => 'account_permission_element', 'type' => 'int', 'internal' => 'element'],
'account_permission_component' => ['name' => 'account_permission_component', 'type' => 'int', 'internal' => 'component'],
'account_permission_permission' => ['name' => 'account_permission_permission', 'type' => 'int', 'internal' => 'permission'],
'account_permission_hasread' => ['name' => 'account_permission_hasread', 'type' => 'bool', 'internal' => 'hasRead'],
'account_permission_hascreate' => ['name' => 'account_permission_hascreate', 'type' => 'bool', 'internal' => 'hasCreate'],
'account_permission_hasmodify' => ['name' => 'account_permission_hasmodify', 'type' => 'bool', 'internal' => 'hasCreate'],
'account_permission_hasdelete' => ['name' => 'account_permission_hasdelete', 'type' => 'bool', 'internal' => 'hasDelete'],
'account_permission_haspermission' => ['name' => 'account_permission_haspermission', 'type' => 'bool', 'internal' => 'hasPermission'],
];
/**

View File

@ -42,7 +42,11 @@ final class GroupPermissionMapper extends DataMapperFactory
'group_permission_type' => ['name' => 'group_permission_type', 'type' => 'int', 'internal' => 'type'],
'group_permission_element' => ['name' => 'group_permission_element', 'type' => 'int', 'internal' => 'element'],
'group_permission_component' => ['name' => 'group_permission_component', 'type' => 'int', 'internal' => 'component'],
'group_permission_permission' => ['name' => 'group_permission_permission', 'type' => 'int', 'internal' => 'permission'],
'group_permission_hasread' => ['name' => 'group_permission_hasread', 'type' => 'bool', 'internal' => 'hasRead'],
'group_permission_hascreate' => ['name' => 'group_permission_hascreate', 'type' => 'bool', 'internal' => 'hasCreate'],
'group_permission_hasmodify' => ['name' => 'group_permission_hasmodify', 'type' => 'bool', 'internal' => 'hasCreate'],
'group_permission_hasdelete' => ['name' => 'group_permission_hasdelete', 'type' => 'bool', 'internal' => 'hasDelete'],
'group_permission_haspermission' => ['name' => 'group_permission_haspermission', 'type' => 'bool', 'internal' => 'hasPermission'],
];
/**