MIF_E31230393/routes/web.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');