improve module interface
This commit is contained in:
@@ -9,6 +9,7 @@ use KTXC\Service\UserAccountsService;
|
||||
use KTXC\SessionIdentity;
|
||||
use KTXF\Controller\ControllerAbstract;
|
||||
use KTXC\SessionTenant;
|
||||
use KTXF\Module\ModuleBrowserInterface;
|
||||
use KTXF\Routing\Attributes\AuthenticatedRoute;
|
||||
|
||||
class InitController extends ControllerAbstract
|
||||
@@ -21,11 +22,7 @@ class InitController extends ControllerAbstract
|
||||
private readonly PermissionChecker $permissionChecker,
|
||||
) {}
|
||||
|
||||
#[AuthenticatedRoute(
|
||||
'/init',
|
||||
name: 'init',
|
||||
methods: ['GET']
|
||||
)]
|
||||
#[AuthenticatedRoute('/init', name: 'init', methods: ['GET'])]
|
||||
public function index(): JsonResponse {
|
||||
|
||||
$configuration = [];
|
||||
@@ -33,7 +30,7 @@ class InitController extends ControllerAbstract
|
||||
// modules - filter by permissions
|
||||
$configuration['modules'] = [];
|
||||
foreach ($this->moduleManager->list() as $module) {
|
||||
if (!method_exists($module, 'bootUi')) {
|
||||
if ($module instanceof ModuleBrowserInterface === false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -44,7 +41,7 @@ class InitController extends ControllerAbstract
|
||||
continue;
|
||||
}
|
||||
|
||||
$configuration['modules'][$handle] = $module->bootUi();
|
||||
$configuration['modules'][$handle] = $module->registerBI();
|
||||
}
|
||||
|
||||
// tenant
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace KTXC\Module;
|
||||
|
||||
use KTXF\Module\ModuleBrowserInterface;
|
||||
use KTXF\Module\ModuleConsoleInterface;
|
||||
use KTXF\Module\ModuleInstanceAbstract;
|
||||
|
||||
/**
|
||||
@@ -9,7 +11,7 @@ use KTXF\Module\ModuleInstanceAbstract;
|
||||
*
|
||||
* Provides core system functionality and permissions
|
||||
*/
|
||||
class Module extends ModuleInstanceAbstract
|
||||
class Module extends ModuleInstanceAbstract implements ModuleConsoleInterface, ModuleBrowserInterface
|
||||
{
|
||||
public function __construct() {}
|
||||
|
||||
@@ -35,7 +37,7 @@ class Module extends ModuleInstanceAbstract
|
||||
|
||||
public function version(): string
|
||||
{
|
||||
return '1.0.0';
|
||||
return '0.0.1';
|
||||
}
|
||||
|
||||
public function permissions(): array
|
||||
@@ -94,8 +96,17 @@ class Module extends ModuleInstanceAbstract
|
||||
];
|
||||
}
|
||||
|
||||
public function bootUi(): ?array
|
||||
public function registerCI(): array
|
||||
{
|
||||
return null;
|
||||
return [
|
||||
\KTXC\Console\ModuleListCommand::class,
|
||||
\KTXC\Console\ModuleEnableCommand::class,
|
||||
\KTXC\Console\ModuleDisableCommand::class,
|
||||
];
|
||||
}
|
||||
|
||||
public function registerBI(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user