85 lines
3.5 KiB
PHP
85 lines
3.5 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\UploadController;
|
|
use App\Http\Controllers\AdminController;
|
|
use App\Http\Controllers\TomatController;
|
|
use App\Http\Controllers\AdminDashboardController;
|
|
use App\Http\Controllers\ClassificationHistoryController;
|
|
use App\Http\Controllers\StatistikController;
|
|
|
|
Route::get('/', function () {
|
|
return view('welcome');
|
|
});
|
|
|
|
// About page
|
|
Route::get('/about', function () {
|
|
return view('landing_page.about');
|
|
})->name('about');
|
|
|
|
// Tomat classification routes
|
|
Route::prefix('tomat')->name('tomat.')->group(function () {
|
|
Route::get('/', [TomatController::class, 'index'])->name('upload');
|
|
Route::get('/upload', [TomatController::class, 'index'])->name('upload');
|
|
Route::post('/classify', [TomatController::class, 'classify'])->name('classify');
|
|
Route::get('/result', [TomatController::class, 'getResult'])->name('result');
|
|
Route::get('/service-status', [TomatController::class, 'checkService'])->name('service-status');
|
|
Route::get('/model-info', [TomatController::class, 'getModelInfo'])->name('model-info');
|
|
});
|
|
|
|
// Legacy upload routes - redirect to new tomat routes
|
|
Route::get('/upload', function() {
|
|
return redirect()->route('tomat.upload');
|
|
})->name('upload.index');
|
|
|
|
Route::post('/upload', [UploadController::class, 'store'])->name('upload.store');
|
|
Route::get('/upload/result/{id}', [UploadController::class, 'result'])->name('upload.result');
|
|
|
|
// Login route (redirect to admin login)
|
|
Route::get('/login', function () {
|
|
return redirect()->route('admin.login');
|
|
})->name('login');
|
|
|
|
// Admin login routes
|
|
Route::get('/admin/login', function () {
|
|
return view('login');
|
|
})->name('admin.login');
|
|
|
|
Route::post('/admin/login', [UploadController::class, 'adminLogin'])->name('admin.login.submit');
|
|
|
|
// Admin routes with middleware
|
|
Route::middleware('admin.auth')->group(function () {
|
|
// Admin dashboard route
|
|
Route::get('/admin/dashboard', [AdminDashboardController::class, 'index'])->name('admin.dashboard');
|
|
|
|
// Manage admin routes
|
|
Route::get('/admin/manage-admin', [AdminController::class, 'index'])->name('admin.manage-admin');
|
|
Route::post('/admin/manage-admin', [AdminController::class, 'store'])->name('admin.manage-admin.store');
|
|
Route::get('/admin/manage-admin/{id}/edit', [AdminController::class, 'edit'])->name('admin.manage-admin.edit');
|
|
Route::put('/admin/manage-admin/{id}', [AdminController::class, 'update'])->name('admin.manage-admin.update');
|
|
Route::delete('/admin/manage-admin/{id}', [AdminController::class, 'destroy'])->name('admin.manage-admin.destroy');
|
|
Route::patch('/admin/manage-admin/{id}/toggle-status', [AdminController::class, 'toggleStatus'])->name('admin.manage-admin.toggle-status');
|
|
|
|
// Classification history route
|
|
Route::get('/admin/classification-history', [ClassificationHistoryController::class, 'index'])
|
|
->name('admin.classification-history');
|
|
|
|
// System statistics route
|
|
Route::get('/admin/system-statistics', [StatistikController::class, 'index'])
|
|
->name('admin.system-statistics');
|
|
});
|
|
|
|
Route::get('/admin/logout', function () {
|
|
// Clear admin session
|
|
session()->forget(['admin_logged_in', 'admin_user_id', 'admin_name']);
|
|
|
|
// Redirect to login with success message
|
|
return redirect()->route('admin.login')->with('success', 'Anda telah berhasil logout.');
|
|
})->name('admin.logout');
|
|
|
|
Route::get('/upload', function () {
|
|
return view('upload');
|
|
});
|
|
|
|
Route::post('/upload', [TomatController::class, 'upload'])->name('upload');
|