name('landing'); // AUTH ROUTES Route::get('/auth', [AuthController::class, 'showLoginForm'])->name('auth'); Route::post('/register', [AuthController::class, 'register'])->name('register'); Route::post('/login', [AuthController::class, 'login'])->name('login.post'); Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); // USER ROUTES (Hanya bisa diakses user biasa) Route::get('/home', function () { return view('home'); })->name('home')->middleware('auth'); // Admin Routes (Hanya bisa diakses oleh admin) Route::middleware(['auth', 'admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/dashboard', [AdminController::class, 'index'])->name('dashboard'); Route::get('/user', [AdminController::class, 'user'])->name('user'); Route::delete('/user/{id}', [AdminController::class, 'destroyUser'])->name('user.destroy'); Route::get('/user/{id}/edit', [AdminController::class, 'editUser'])->name('user.edit'); Route::put('/user/{id}', [AdminController::class, 'updateUser'])->name('user.update'); // Gejala CRUD Route::get('/gejala', [GejalaController::class, 'index'])->name('gejala'); Route::post('/gejala', [GejalaController::class, 'store'])->name('gejala.store'); Route::delete('/gejala/{id}', [GejalaController::class, 'destroy'])->name('gejala.delete'); Route::get('/gejala/{id}/edit', [GejalaController::class, 'edit'])->name('gejala.edit'); Route::put('/gejala/{id}', [GejalaController::class, 'update'])->name('gejala.update'); // Penyakit dan Aturan Route::get('/penyakit', [PenyakitController::class, 'index'])->name('penyakit'); Route::post('/penyakit', [PenyakitController::class, 'store'])->name('penyakit.store'); Route::delete('/penyakit/{id}', [PenyakitController::class, 'destroy'])->name('penyakit.destroy'); Route::get('/penyakit/{id}/edit', [PenyakitController::class, 'edit'])->name('penyakit.edit'); Route::put('/penyakit/{id}', [PenyakitController::class, 'update'])->name('penyakit.update'); // Aturan (Basis Pengetahuan) Route::get('/aturan', [AdminController::class, 'aturan'])->name('aturan'); Route::post('/aturan', [AturanController::class, 'store'])->name('aturan.store'); Route::delete('/aturan/{id}', [AturanController::class, 'destroy'])->name('aturan.destroy'); Route::get('/aturan/{id}/edit', [AturanController::class, 'edit'])->name('aturan.edit'); Route::put('/aturan/{id}', [AturanController::class, 'update'])->name('aturan.update'); Route::get('/solusi', [SolusiController::class, 'index'])->name('solusi'); Route::post('/solusi', [SolusiController::class, 'store'])->name('solusi.store'); Route::delete('/solusi/{id}', [SolusiController::class, 'destroy'])->name('solusi.destroy'); Route::get('/solusi/{id}/edit', [SolusiController::class, 'edit'])->name('solusi.edit'); Route::put('/solusi/{id}', [SolusiController::class, 'update'])->name('solusi.update'); Route::get('/profile', [AdminController::class, 'editProfile'])->name('profile'); Route::post('/profile/update', [AdminController::class, 'updateProfile'])->name('profile.update'); Route::get('/riwayat', [AdminController::class, 'indexRiwayatAdmin'])->name('riwayat'); }); // USER ROUTES (untuk user biasa, di luar prefix admin) // Route Diagnosa untuk User (bukan admin) Route::middleware(['auth'])->group(function () { Route::get('/diagnosa', [DiagnosaController::class, 'index'])->name('diagnosa.index'); Route::post('/diagnosa', [DiagnosaController::class, 'store'])->name('diagnosa.store'); Route::get('/diagnosa/hasil', [DiagnosaController::class, 'hasil'])->name('hasil.diagnosa'); Route::get('/riwayat', [RiwayatController::class, 'index'])->name('riwayat.index'); Route::get('/riwayat/{id}', [RiwayatController::class, 'show'])->name('riwayat.show'); Route::delete('/riwayat/{id}', [RiwayatController::class, 'destroy'])->name('riwayat.destroy'); Route::get('/riwayat/{id}/cetak', [RiwayatController::class, 'cetakPdf'])->name('riwayat.cetak'); Route::get('/profil', function () { return view('auth.profil'); })->name('profil'); Route::post('/profil', [AuthController::class, 'updateProfil'])->name('profil.update'); Route::get('/tentang', function () { return view('auth.tentang'); })->name('tentang'); Route::get('/penyakit', function () { return view('auth.penyakit'); }); });