55 lines
2.0 KiB
PHP
55 lines
2.0 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 Illuminate\Support\Facades\Auth;
|
|
use App\Http\Controllers\Api\ReviewController;
|
|
|
|
// 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
|
|
Route::middleware('guest:admin')->group(function () {
|
|
Route::get('/login', [AdminAuthController::class, 'showLogin'])->name('login');
|
|
Route::post('/login', [AdminAuthController::class, 'login'])->name('login.post');
|
|
});
|
|
|
|
Route::middleware('auth:admin')->group(function () {
|
|
Route::get('/dashboard', function () {
|
|
return view('admin.dashboard');
|
|
})->name('dashboard');
|
|
|
|
Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout');
|
|
|
|
// Resource routes
|
|
Route::resource('kategori', KategoriController::class);
|
|
|
|
// Template routes (index, edit, update)
|
|
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 routes
|
|
Route::resource('pelanggan', PelangganController::class)->except(['create', 'edit']);
|
|
|
|
// Ulasan routes
|
|
Route::resource('reviews', ReviewController::class)->except(['create', 'edit', 'update', 'show', 'store']);
|
|
});
|
|
});
|