latest()->take(5)->get(); return view('dashboard', compact('totalProducts', 'totalStock', 'recentHistory')); })->middleware(Authenticate::class)->name('dashboard'); // 로그인 관련 라우트 (비로그인 사용자 접근 가능) Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login'); Route::post('/login', [LoginController::class, 'login'])->name('login.process'); Route::post('/logout', [LoginController::class, 'logout'])->name('logout'); // 인증된 사용자만 접근 가능한 그룹 Route::middleware([Authenticate::class])->group(function () { // 대시보드 (위에서 정의했지만 명시적으로 그룹에 포함 가능, 또는 별도 유지) // Route::get('/dashboard', ...); // 상품 관련 Route::get('/product/input', [ProductController::class, 'input'])->name('product.input'); Route::post('/product/input', [ProductController::class, 'store'])->name('product.store'); Route::get('/product', [ProductController::class, 'index'])->name('product'); Route::delete('/product/{id}', [ProductController::class, 'destroy'])->name('product.delete'); Route::get('/product/{product}/edit', [ProductController::class, 'edit'])->name('product.edit'); Route::put('/product/{product}', [ProductController::class, 'update'])->name('product.update'); Route::get('/product/export', ProductExportController::class)->name('products.export'); // 입출고 관련 Route::get('/stock/input/{id}', [StockLogController::class, 'input'])->name('stock.input'); Route::post('/stock/input/{id}', [StockLogController::class, 'store'])->name('stock.store'); Route::get('/stock', [StockLogController::class, 'index'])->name('stock.list'); // 통계 Route::get('/stats', [statsController::class, 'index'])->name('stats'); // 관리자 전용 설정 Route::middleware([\App\Http\Middleware\IsAdmin::class])->group(function () { // 카테고리 관리 Route::get('/settings/categories', [App\Http\Controllers\CategoryController::class, 'index'])->name('settings.categories.index'); Route::post('/settings/categories', [App\Http\Controllers\CategoryController::class, 'store'])->name('settings.categories.store'); Route::delete('/settings/categories/{category}', [App\Http\Controllers\CategoryController::class, 'destroy'])->name('settings.categories.destroy'); // 사용자 관리 (추후 구현 예정) Route::get('/settings/users', [App\Http\Controllers\UserController::class, 'index'])->name('settings.users.index'); Route::get('/settings/users/create', [App\Http\Controllers\UserController::class, 'create'])->name('settings.users.create'); Route::post('/settings/users', [App\Http\Controllers\UserController::class, 'store'])->name('settings.users.store'); Route::delete('/settings/users/{user}', [App\Http\Controllers\UserController::class, 'destroy'])->name('settings.users.destroy'); Route::patch('/settings/users/{user}/promote', [App\Http\Controllers\UserController::class, 'promote'])->name('settings.users.promote'); }); });