Undangan/backend-baru/routes/web.php

76 lines
2.7 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AdminAuthController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\KategoriController;
use App\Http\Controllers\TemplateController;
use App\Http\Controllers\PelangganController;
use App\Http\Controllers\ReviewController; // Pastikan ini controller web, bukan API
use Illuminate\Support\Facades\Auth;
// ============================
// LOGOUT UMUM
// ============================
Route::post('/logout', function () {
Auth::logout();
request()->session()->invalidate();
request()->session()->regenerateToken();
return redirect()->route('admin.login');
})->name('logout');
// ============================
// REDIRECT ROOT KE LOGIN ADMIN
// ============================
Route::get('/', function () {
return redirect()->route('admin.login');
});
// ============================
// ADMIN ROUTES
// ============================
Route::prefix('admin')->name('admin.')->group(function () {
// ----------------------------
// AUTH (LOGIN ADMIN)
// ----------------------------
Route::middleware('guest:admin')->group(function () {
Route::get('/login', [AdminAuthController::class, 'showLogin'])->name('login');
Route::post('/login', [AdminAuthController::class, 'login'])->name('login.post');
});
// ----------------------------
// ADMIN AREA (AUTH PROTECTED)
// ----------------------------
Route::middleware('auth:admin')->group(function () {
// Dashboard
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
// Logout
Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout');
// ----------------------------
// KATEGORI
// ----------------------------
Route::resource('kategori', KategoriController::class);
// ----------------------------
// TEMPLATE
// ----------------------------
Route::get('/template', [TemplateController::class, 'index'])->name('template.index');
Route::get('/template/{template}/edit', [TemplateController::class, 'edit'])->name('template.edit');
Route::put('/template/{template}', [TemplateController::class, 'update'])->name('template.update');
// ----------------------------
// PELANGGAN
// ----------------------------
Route::resource('pelanggan', PelangganController::class)->except(['create', 'edit']);
// ----------------------------
// REVIEW / ULASAN
// ----------------------------
Route::resource('reviews', ReviewController::class)->except(['create', 'edit', 'update', 'show', 'store']);
});
});