<?php

use kernel\App;
use Phroute\Phroute\RouteCollector;

App::$collector->console("hello", [\kernel\console\controllers\MainController::class, "indexAction"]);

App::$collector->group(["prefix" => "migration"], callback: function (RouteCollector $router){
    App::$collector->console('run', [\kernel\console\controllers\MigrationController::class, 'actionRun']);
    App::$collector->console('init', [\kernel\console\controllers\MigrationController::class, 'actionCreateMigrationTable']);
    App::$collector->console('create', [\kernel\console\controllers\MigrationController::class, 'actionCreate']);
    App::$collector->console('rollback', [\kernel\console\controllers\MigrationController::class, 'actionRollback']);
});

App::$collector->group(["prefix" => "admin-theme"], callback: function (RouteCollector $router){
    App::$collector->console('install', [\kernel\console\controllers\AdminThemeController::class, 'actionInstallTheme']);
    App::$collector->console('uninstall', [\kernel\console\controllers\AdminThemeController::class, 'actionUninstallTheme']);
});

App::$collector->group(["prefix" => "secure"], callback: function (RouteCollector $router){
    App::$collector->console('create-secret-key', [\kernel\console\controllers\SecureController::class, 'actionCreateSecretKey']);
});

App::$collector->group(["prefix" => "admin"], callback: function (RouteCollector $router){
    App::$collector->console('init', [\kernel\console\controllers\AdminConsoleController::class, 'actionInit']);
});

App::$collector->group(["prefix" => "module"], callback: function (RouteCollector $router){
    App::$collector->console('install', [\kernel\console\controllers\ModuleController::class, 'actionInstallModule']);
    App::$collector->console('uninstall', [\kernel\console\controllers\ModuleController::class, 'actionUninstallModule']);
    App::$collector->console('pack', [\kernel\console\controllers\ModuleController::class, 'actionPackModule']);
    App::$collector->console('update', [\kernel\console\controllers\ModuleController::class, 'actionUpdateModule']);
});

App::$collector->group(["prefix" => "kernel"], callback: function (RouteCollector $router){
//    App::$collector->console('install', [\kernel\console\controllers\ModuleController::class, 'actionInstallModule']);
//    App::$collector->console('uninstall', [\kernel\console\controllers\ModuleController::class, 'actionUninstallModule']);
    App::$collector->console('pack', [\kernel\console\controllers\KernelController::class, 'actionPackKernel']);
    App::$collector->console('update', [\kernel\console\controllers\KernelController::class, 'actionUpdateKernel']);
});