48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\LoginController;
|
|
use App\Http\Controllers\ProductController;
|
|
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');
|
|
|
|
|