100 lines
4.8 KiB
PHP
100 lines
4.8 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\GejalaController;
|
|
use App\Http\Controllers\RiwayatController;
|
|
use App\Http\Controllers\SolusiController;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\AdminController;
|
|
use App\Http\Controllers\AturanController;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\PenyakitController;
|
|
use App\Http\Controllers\DiagnosaController;
|
|
|
|
|
|
// Landing Page (Slider) — sebelum /auth
|
|
Route::get('/', function () {
|
|
return view('landing');
|
|
})->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');
|
|
});
|
|
|
|
|
|
});
|
|
|