laravel12/routes/web.php
2025-12-07 14:17:41 +09:00

67 lines
2.1 KiB
PHP

<?php
use App\Http\Controllers\LoginController;
use App\Http\Controllers\ProductController;
use App\Http\Controllers\ProductExportController;
use App\Http\Controllers\statsController;
use App\Http\Controllers\StockLogController;
use App\Http\Middleware\Authenticate;
use Illuminate\Support\Facades\Route;
// ① 기본 URL: 로그인 된 사용자만 접근 가능, 아니면 /login 으로 리다이렉트
Route::get('/', function () {
return view('dashboard'); // resources/views/dashboard.blade.php
})->middleware(Authenticate::class)
->name('dashboard');
// ② 로그인 화면 (누구나 접근 가능)
Route::get('/login', [LoginController::class, 'showLoginForm'])
->name('login');
// ③ 로그인 처리 (POST)
Route::post('/login', [LoginController::class, 'login'])
->name('login.process');
// 로그아웃
Route::post('/logout', [LoginController::class, 'logout'])
->name('logout');
// 상품추가
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 Model Binding
Route::get('/product/{product}/edit', [ProductController::class, 'edit'])
->name('product.edit');
Route::put('/product/{product}', [ProductController::class, 'update'])
->name('product.update');
// 입출고 등록
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::get('/product/export', ProductExportController::class)
->name('products.export');