route('login'); }); /* |-------------------------------------------------------------------------- | AUTHENTICATION |-------------------------------------------------------------------------- */ Route::middleware('guest')->group(function () { Route::get('/login', [AuthController::class, 'showLogin']) ->name('login'); Route::post('/login', [AuthController::class, 'login']); Route::get('/register', [AuthController::class, 'showRegister']) ->name('register'); Route::post('/register', [AuthController::class, 'register']); Route::get('/forgot-password', [ForgotPasswordController::class, 'showForm']) ->name('password.request'); Route::post('/forgot-password', [ForgotPasswordController::class, 'sendLink']) ->name('password.email'); Route::get('/reset-password/{token}', [ResetPasswordController::class, 'showForm']) ->name('password.reset'); Route::post('/reset-password', [ResetPasswordController::class, 'reset']) ->name('password.update'); }); Route::post('/logout', [AuthController::class, 'logout']) ->name('logout') ->middleware('auth'); /* |-------------------------------------------------------------------------- | PROTECTED ROUTES |-------------------------------------------------------------------------- */ Route::middleware('auth')->group(function () { // ======================= // DASHBOARD // ======================= Route::get('/dashboard', [DashboardController::class, 'index']) ->name('dashboard'); // ======================= // PASIEN // ======================= Route::resource('pasien', PasienController::class); // ======================= // MAKANAN // ======================= Route::resource('makanan', MakananController::class); // ======================= // PROSES SAW // ======================= Route::prefix('proses_saw')->group(function () { Route::get('/', [ProsesSawController::class, 'index']) ->name('proses_saw.index'); Route::post('/', [ProsesSawController::class, 'proses']) ->name('proses_saw.proses'); }); // ======================= // LAPORAN // ======================= Route::prefix('laporan')->group(function () { Route::get('/', [LaporanController::class, 'index']) ->name('laporan.index'); // 🔥 route model binding (lebih clean) Route::get('/{laporan}', [LaporanController::class, 'detail']) ->name('laporan.detail'); Route::delete('/{id}', [LaporanController::class, 'destroy']) ->name('laporan.destroy'); Route::get('/{id}/cetak', [LaporanController::class, 'cetak']) ->name('laporan.cetak'); }); // ======================= // CETAK LAPORAN // ======================= Route::get('/laporan/{id}/cetak', [LaporanController::class, 'cetak']) ->name('laporan.cetak'); // ======================= // PROFIL // ======================= Route::get('/profile', [AuthController::class, 'profile']) ->name('profile.edit'); Route::put('/profile/update', [AuthController::class, 'updateProfile']) ->name('profile.update'); Route::put('/profile/password', [AuthController::class, 'updatePassword']) ->name('profile.password.update'); Route::get('/panduan', [PanduanController::class, 'index']) ->name('panduan.index'); // ======================= // User // ======================= Route::prefix('user')->middleware('auth')->group(function () { Route::get('/dashboard', [UserDashboardController::class, 'index']) ->name('user.dashboard'); Route::get('/proses_saw', [UserProsesSawController::class, 'index']) ->name('user.proses_saw.index'); Route::post('/proses_saw', [UserProsesSawController::class, 'proses']) ->name('user.proses_saw.proses'); Route::get('/laporan', [UserLaporanController::class, 'index']) ->name('user.laporan.index'); Route::get('/user/laporan/{id}', [UserLaporanController::class, 'show']) ->name('user.laporan.show'); Route::delete('/laporan/{id}', [UserLaporanController::class, 'destroy']) ->name('user.laporan.destroy'); Route::get('/profile', [AuthController::class, 'profile']) ->name('user.profile.edit'); Route::put('/profile/update', [AuthController::class, 'updateProfile']) ->name('user.profile.update'); Route::put('/profile/password', [AuthController::class, 'updatePassword']) ->name('user.profile.password.update'); Route::get('/panduan', [UserPanduanController::class, 'index']) ->name('user.panduan.index'); }); });