MIF_E31210287/routes/web.php

145 lines
6.2 KiB
PHP

<?php
use App\Exports\DatasetTemplate,
App\Http\Controllers\AdminController,
App\Http\Controllers\AtributController,
App\Http\Controllers\ClassificationController,
App\Http\Controllers\NilaiAtributController,
App\Http\Controllers\ProbabilityController,
App\Http\Controllers\ResultController,
App\Http\Controllers\TestingDataController,
App\Http\Controllers\TrainingDataController,
App\Http\Controllers\UserController,
App\Http\Controllers\HomeController,
App\Livewire\Forgot,
App\Livewire\Login,
App\Livewire\Register,
App\Livewire\Reset,
Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::middleware(['guest'])->group(function () {
Route::get('register', Register::class)->name('register');
Route::get('login', Login::class)->name('login');
Route::prefix('password')->name('password.')->group(function () {
Route::get('/', Forgot::class)->name('forget');
Route::get('reset', Reset::class)->name('reset');
});
});
Route::middleware(['auth', 'isAdmin'])->group(function () {
Route::get('/', [AdminController::class, 'index'])->name('admin');
Route::controller(AdminController::class)->group(function () {
Route::prefix('profil')->name('profil.')->group(function () {
Route::get('/', 'edit')->name('index');
Route::post('update', 'update')->name('update');
});
Route::post('logout', 'logout')->name('logout');
});
Route::prefix('user')->group(function() {
Route::get('/', [UserController::class, 'index'])->name('user');
Route::get('edit/{id}', [UserController::class, 'edit'])->name('user.edit');
Route::get('create', [UserController::class, 'create'])->name('user.create');
Route::post('update/{id}', [UserController::class, 'update'])->name('user.update');
Route::post('store', [UserController::class, 'store'])->name('user.store');
Route::get('delete/{id}', [UserController::class, 'delete'])->name('user.delete');
});
Route::controller(ProbabilityController::class)->prefix('probab')
->name('probab.')->group(function () {
Route::get('/', 'index')->name('index');
Route::get('calc', 'create')->name('create');
Route::delete('/', 'destroy')->name('reset');
});
Route::prefix('atribut')->name('atribut.')->group(function () {
Route::get('count', [AtributController::class, 'count'])->name('count')
->block();
Route::get('nilai/count', [NilaiAtributController::class, 'count'])
->name('nilai.count')->block();
Route::resource('nilai', NilaiAtributController::class);
});
Route::prefix('class')->controller(ClassificationController::class)
->name('class.')->group(function () {
Route::get('/', 'index')->name('index')->block();
Route::get('datatable', 'show')->name('datatable')->block();
Route::get('export/{type}', 'export')->name('export')->block();
Route::post('calc', 'create')->name('create')->block();
Route::delete('/', 'destroy')->name('reset')->block();
});
Route::get('result', ResultController::class)->name('result');
Route::get('template', function () {
return (new DatasetTemplate)->download('template.xlsx');
})->name('template-data');
Route::get('laravel', function () {
return view('welcome');
})->name('laravel');
Route::get('php', function () {
return phpinfo();
})->name('phpinfo');
});
Route::middleware(['auth'])->group(function() {
Route::get('home', [HomeController::class, 'index'])->name('home');
Route::get('performa', [HomeController::class, 'performa'])->name('home.performa');
Route::get('user_training', [HomeController::class, 'user_training'])->name('user.training');
Route::get('user_testing', [HomeController::class, 'user_testing'])->name('user.testing');
Route::get('atribut', [AtributController::class, 'user_index'])->name('user.atribut');
Route::get('user_probab', [HomeController::class, 'user_probab'])->name('user.probab');
Route::get('user_class', [HomeController::class, 'user_class'])->name('user.class');
Route::get('profile', [HomeController::class, 'profile'])->name('home.profile');
Route::post('update-profil', [HomeController::class, 'update'])->name('home.update');
Route::controller(TrainingDataController::class)->prefix('training')
->name('training.')->group(function () {
Route::get('count', 'count')->name('count')->block();
Route::get('download', 'export')->name('export')->block();
Route::post('upload', 'import')->name('import')->block();
Route::delete('/', 'clear')->name('clear')->block();
});
Route::controller(TestingDataController::class)->prefix('testing')
->name('testing.')->group(function () {
Route::get('count', 'count')->name('count')->block();
Route::get('download', 'export')->name('export')->block();
Route::post('upload', 'import')->name('import')->block();
Route::delete('/', 'clear')->name('clear')->block();
});
Route::resources([
'training' => TrainingDataController::class,
'testing' => TestingDataController::class,
'atribut' => AtributController::class,
]);
Route::controller(ProbabilityController::class)->prefix('probab')
->name('probab.')->group(function () {
Route::get('/', 'index')->name('index');
Route::get('calc', 'create')->name('create');
Route::delete('/', 'destroy')->name('reset');
});
Route::prefix('atribut')->name('atribut.')->group(function () {
Route::get('count', [AtributController::class, 'count'])->name('count')
->block();
Route::get('nilai/count', [NilaiAtributController::class, 'count'])
->name('nilai.count')->block();
Route::resource('nilai', NilaiAtributController::class);
});
Route::prefix('class')->controller(ClassificationController::class)
->name('class.')->group(function () {
Route::get('/', 'index')->name('index')->block();
Route::get('datatable', 'show')->name('datatable')->block();
Route::get('export/{type}', 'export')->name('export')->block();
Route::post('calc', 'create')->name('create')->block();
Route::delete('/', 'destroy')->name('reset')->block();
});
});