메뉴 관리 기능 개선
- 트리 구조 정렬 및 표시 (무제한 depth 지원) - 접기/펼치기 기능 추가 (재귀적 처리) - 활성/숨김 상태 토글 기능 (실시간 업데이트) - 테넌트 필터링 (전체 선택 시 마스터 메뉴만 표시) - UI 개선 (토글 버튼, 외부 메뉴 표시) 추가된 파일: - MenuService: 비즈니스 로직 처리 - MenuController (API/Web): 라우트 처리 - MenuRequest: 유효성 검증 - views/menus/: 메뉴 관리 뷰 수정된 파일: - routes/api.php, web.php: 메뉴 라우트 추가
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Api\Admin\DepartmentController;
|
||||
use App\Http\Controllers\Api\Admin\MenuController;
|
||||
use App\Http\Controllers\Api\Admin\RoleController;
|
||||
use App\Http\Controllers\Api\Admin\TenantController;
|
||||
use App\Http\Controllers\Api\Admin\UserController;
|
||||
@@ -64,4 +65,23 @@
|
||||
Route::post('/{id}/restore', [UserController::class, 'restore'])->name('restore');
|
||||
Route::delete('/{id}/force', [UserController::class, 'forceDestroy'])->name('forceDestroy');
|
||||
});
|
||||
|
||||
// 메뉴 관리 API
|
||||
Route::prefix('menus')->name('menus.')->group(function () {
|
||||
// 고정 경로는 먼저 정의
|
||||
Route::get('/tree', [MenuController::class, 'tree'])->name('tree');
|
||||
|
||||
// 동적 경로는 나중에 정의
|
||||
Route::get('/', [MenuController::class, 'index'])->name('index');
|
||||
Route::post('/', [MenuController::class, 'store'])->name('store');
|
||||
Route::get('/{id}', [MenuController::class, 'show'])->name('show');
|
||||
Route::put('/{id}', [MenuController::class, 'update'])->name('update');
|
||||
Route::delete('/{id}', [MenuController::class, 'destroy'])->name('destroy');
|
||||
|
||||
// 추가 액션
|
||||
Route::post('/{id}/restore', [MenuController::class, 'restore'])->name('restore');
|
||||
Route::delete('/{id}/force', [MenuController::class, 'forceDestroy'])->name('forceDestroy');
|
||||
Route::post('/{id}/toggle-active', [MenuController::class, 'toggleActive'])->name('toggleActive');
|
||||
Route::post('/{id}/toggle-hidden', [MenuController::class, 'toggleHidden'])->name('toggleHidden');
|
||||
});
|
||||
});
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
use App\Http\Controllers\Auth\LoginController;
|
||||
use App\Http\Controllers\DepartmentController;
|
||||
use App\Http\Controllers\MenuController;
|
||||
use App\Http\Controllers\RoleController;
|
||||
use App\Http\Controllers\TenantController;
|
||||
use App\Http\Controllers\UserController;
|
||||
@@ -58,6 +59,13 @@
|
||||
Route::get('/{id}/edit', [UserController::class, 'edit'])->name('edit');
|
||||
});
|
||||
|
||||
// 메뉴 관리 (Blade 화면만)
|
||||
Route::prefix('menus')->name('menus.')->group(function () {
|
||||
Route::get('/', [MenuController::class, 'index'])->name('index');
|
||||
Route::get('/create', [MenuController::class, 'create'])->name('create');
|
||||
Route::get('/{id}/edit', [MenuController::class, 'edit'])->name('edit');
|
||||
});
|
||||
|
||||
// 대시보드
|
||||
Route::get('/dashboard', function () {
|
||||
return view('dashboard.index');
|
||||
|
||||
Reference in New Issue
Block a user