77 lines
2.7 KiB
PHP
77 lines
2.7 KiB
PHP
<?php
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\ClassificationController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Web Routes
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
Route::get('/', function () {
|
|
return view('landingpage');
|
|
})->name('landingpage');
|
|
|
|
Route::get('/karakteristik', [ClassificationController::class, 'karakteristik'])->name('karakteristik');
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
// Login
|
|
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
|
|
// Register
|
|
Route::get('/register', [AuthController::class, 'showRegister'])->name('register');
|
|
Route::post('/register', [AuthController::class, 'register']);
|
|
|
|
// Lupa Password
|
|
Route::get('/forgot-password', function() {
|
|
return view('auth.forgot-password');
|
|
})->name('password.request');
|
|
|
|
Route::post('/forgot-password', function(Request $request) {
|
|
$request->validate([
|
|
'email' => 'required|email|exists:users,email',
|
|
'password' => 'required|min:8|confirmed',
|
|
], [
|
|
'email.exists' => 'Email tidak ditemukan dalam sistem.',
|
|
'password.min' => 'Password minimal 8 karakter.',
|
|
'password.confirmed' => 'Konfirmasi password tidak cocok.',
|
|
]);
|
|
|
|
$user = \App\Models\User::where('email', $request->email)->first();
|
|
$user->update([
|
|
'password' => Hash::make($request->password)
|
|
]);
|
|
|
|
return redirect()->route('login')->with('status', 'Password berhasil diubah! Silakan login.');
|
|
})->name('password.update.direct');
|
|
});
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
// Dashboard
|
|
Route::get('/dashboard', function () {
|
|
return view('dashboard');
|
|
})->name('dashboard');
|
|
|
|
// Klasifikasi
|
|
Route::get('/klasifikasi', function () {
|
|
return view('klasifikasi');
|
|
})->name('klasifikasi');
|
|
|
|
// History
|
|
Route::get('/history', [ClassificationController::class, 'history'])->name('history');
|
|
Route::delete('/classification/{id}', [ClassificationController::class, 'destroy'])->name('classification.destroy');
|
|
|
|
// API
|
|
Route::post('/api/destroy-temp', [ClassificationController::class, 'destroyTemp'])->name('api.destroy.temp');
|
|
|
|
// Logout
|
|
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
|
|
});
|
|
|
|
Route::post('/api/classify', [ClassificationController::class, 'process'])->name('api.classify');
|
|
Route::post('/api/save-result', [ClassificationController::class, 'store'])->name('api.save'); |