admin init command

This commit is contained in:
2024-09-23 17:03:42 +03:00
parent 0f05bc2391
commit a48088581f
25 changed files with 376 additions and 34 deletions

View File

@ -3,12 +3,32 @@
namespace kernel\modules\menu;
use kernel\Module;
use kernel\modules\menu\service\MenuService;
class MenuModule extends Module
{
public function init()
public MenuService $menuService;
public function __construct()
{
// TODO: Implement init() method.
$this->menuService = new MenuService();
}
/**
* @throws \Exception
*/
public function init(): void
{
$this->menuService->createItem([
"label" => "Меню",
"url" => "/admin/settings/menu",
"slug" => "menu",
"parent_slug" => "settings"
]);
}
public function deactivate(): void
{
$this->menuService->removeItemBySlug("menu");
}
}

View File

@ -4,6 +4,7 @@
"author": "ITGuild",
"slug": "menu",
"description": "Menu module",
"module_class": "MenuModule",
"module_class": "kernel\\modules\\menu\\MenuModule",
"module_class_file": "{KERNEL_MODULES}/menu/MenuModule.php",
"routs": "routs/menu.php"
}

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
\kernel\App::$db->schema->create('menu', function (Blueprint $table) {
$table->increments('id');
$table->integer('parent_id')->default(0);
$table->string('icon_file', 255)->nullable();
$table->string('icon_font', 255)->nullable();
$table->string('label', 255);
$table->string('url', 255);
$table->string('slug', 255)->unique();
$table->integer('status')->default(1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
\kernel\App::$db->schema->dropIfExists('menu');
}
};