63 lines
3.7 KiB
PHP
63 lines
3.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin\CriteriaController as AdminCriteriaController;
|
|
use App\Http\Controllers\Admin\DashboardController as AdminDashboardController;
|
|
use App\Http\Controllers\Admin\ProductController as AdminProductController;
|
|
use App\Http\Controllers\Admin\TransactionController as AdminTransactionController;
|
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
|
use App\Http\Controllers\Auth\LoginController;
|
|
use App\Http\Controllers\Auth\RegisterController;
|
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
|
use App\Http\Controllers\CartController;
|
|
use App\Http\Controllers\CheckoutController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\RecommendationController;
|
|
use App\Http\Controllers\ShopController;
|
|
use App\Http\Controllers\TransactionController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', [HomeController::class, 'index'])->name('home');
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
|
|
Route::post('/login', [LoginController::class, 'login']);
|
|
Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register');
|
|
Route::post('/register', [RegisterController::class, 'register']);
|
|
Route::get('/forgot-password', [ForgotPasswordController::class, 'create'])->name('password.request');
|
|
Route::post('/forgot-password', [ForgotPasswordController::class, 'store'])->name('password.email');
|
|
Route::get('/forgot-password/verify', [ResetPasswordController::class, 'create'])->name('password.verify');
|
|
Route::post('/reset-password', [ResetPasswordController::class, 'store'])->name('password.update');
|
|
});
|
|
|
|
Route::post('/logout', [LoginController::class, 'logout'])->name('logout')->middleware('auth');
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
Route::get('/dashboard', [HomeController::class, 'dashboard'])->name('dashboard');
|
|
|
|
Route::get('/shop', [ShopController::class, 'index'])->name('shop.index');
|
|
Route::post('/cart', [CartController::class, 'store'])->name('cart.store');
|
|
Route::get('/cart', [CartController::class, 'index'])->name('cart.index');
|
|
Route::put('/cart/{cart}', [CartController::class, 'update'])->name('cart.update');
|
|
Route::delete('/cart/{cart}', [CartController::class, 'destroy'])->name('cart.destroy');
|
|
|
|
Route::get('/checkout', [CheckoutController::class, 'show'])->name('checkout.show');
|
|
Route::post('/checkout', [CheckoutController::class, 'process'])->name('checkout.process');
|
|
|
|
Route::get('/transactions', [TransactionController::class, 'index'])->name('transactions.index');
|
|
Route::get('/transactions/{transaction}', [TransactionController::class, 'show'])->name('transactions.show');
|
|
|
|
Route::get('/recommendation', [RecommendationController::class, 'index'])->name('recommendation.index');
|
|
Route::post('/recommendation', [RecommendationController::class, 'result'])->name('recommendation.result');
|
|
});
|
|
|
|
Route::middleware(['auth', 'admin'])->prefix('admin')->name('admin.')->group(function () {
|
|
Route::get('/', [AdminDashboardController::class, 'index'])->name('dashboard');
|
|
|
|
Route::resource('products', AdminProductController::class)->except(['show']);
|
|
Route::resource('criterias', AdminCriteriaController::class)->except(['show']);
|
|
Route::get('transactions', [AdminTransactionController::class, 'index'])->name('transactions.index');
|
|
Route::get('transactions/{transaction}', [AdminTransactionController::class, 'show'])->name('transactions.show');
|
|
Route::put('transactions/{transaction}/status', [AdminTransactionController::class, 'updateStatus'])->name('transactions.status');
|
|
Route::get('transactions/export', [AdminTransactionController::class, 'export'])->name('transactions.export');
|
|
});
|