190 lines
5.6 KiB
PHP
190 lines
5.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\PasienController;
|
|
use App\Http\Controllers\MakananController;
|
|
use App\Http\Controllers\ProsesSawController;
|
|
use App\Http\Controllers\LaporanController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\PanduanController;
|
|
use App\Http\Controllers\UserDashboardController;
|
|
use App\Http\Controllers\UserProsesSawController;
|
|
use App\Http\Controllers\UserLaporanController;
|
|
use App\Http\Controllers\UserPanduanController;
|
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
|
use App\Models\Laporan;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| REDIRECT ROOT
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::get('/', function () {
|
|
return redirect()->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');
|
|
});
|
|
|
|
}); |