<?php

use App\Http\Controllers\ProfileController;
use App\Http\Controllers\IndexController;
use App\Http\Controllers\CSVImportController;
use App\Http\Controllers\RoleController;
use App\Http\Controllers\UserController;
use 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('auth')->group(function () {
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');

    Route::get('/', [IndexController::class, 'index'])->name('index');
    Route::post('/import', [CSVImportController::class, 'import'])->name('import');

    Route::get('/role-index', [RoleController::class, 'index'])->name('roles.index');
    Route::get('/role-create', [RoleController::class, 'create'])->name('roles.create');
    Route::post('/role-store', [RoleController::class, 'store'])->name('roles.store');
    Route::get('/role-show/{id}', [RoleController::class, 'edit'])->name('roles.show');
    Route::get('/role-edit/{id}', [RoleController::class, 'edit'])->name('roles.edit');
    Route::put('/role-update', [RoleController::class, 'update'])->name('roles.update');
    Route::delete('/role-destroy', [RoleController::class, 'destroy'])->name('roles.destroy');

    Route::get('/user-index', [UserController::class, 'index'])->name('users.index');
    Route::get('/user-create', [UserController::class, 'create'])->name('users.create');
    Route::post('/user-store', [UserController::class, 'store'])->name('users.store');
    Route::get('/user-show/{id}', [UserController::class, 'edit'])->name('users.show');
    Route::get('/user-edit/{id}', [UserController::class, 'edit'])->name('users.edit');
    Route::put('/user-update', [UserController::class, 'update'])->name('users.update');
    Route::delete('/user-destroy', [UserController::class, 'destroy'])->name('users.destroy');

    Route::get('/filter-statusnow', [IndexController::class, 'filterStatusNow'])->name('filter.status.now');
    Route::get('/filter-workbeforegraduate', [IndexController::class, 'filterWorkBeforeGraduate'])->name('filter.work.before.graduate');
    Route::get('/filter-workbeforegraduatemonth', [IndexController::class, 'filterWorkBeforeGraduateMonth'])->name('filter.work.before.graduate.month');
    Route::get('/filter-workaftergraduatemonth', [IndexController::class, 'filterWorkAfterGraduateMonth'])->name('filter.work.after.graduate.month');
    Route::get('/filter-salary', [IndexController::class, 'filterSalary'])->name('filter.salary');
    Route::get('/filter-workingplaceprovince', [IndexController::class, 'filterWorkingPlaceProvince'])->name('filter.working.place.province');
    Route::get('/filter-workingplaceregency', [IndexController::class, 'filterWorkingPlaceRegency'])->name('filter.working.place.regency');
    Route::get('/filter-selfemployeed', [IndexController::class, 'filterIfSelfEmployeed'])->name('filter.if.self.employed');
    Route::get('/filter-instancetype', [IndexController::class, 'filterInstaceType'])->name('filter.instance.type');
    Route::get('/filter-workgrade', [IndexController::class, 'filterWorkGrade'])->name('filter.work.grade');
    Route::get('/filter-workcorrelation', [IndexController::class, 'filterWorkCorrelation'])->name('filter.work.correlation');
    Route::get('/filter-workgradeappropriate', [IndexController::class, 'filterWorkGradeAppropriate'])->name('filter.work.grade.appropriate');
    Route::get('/filter-furtherstudycost', [IndexController::class, 'filterFurtherStudyCost'])->name('filter.further.study.cost');
    Route::get('/filter-countfurtherstudy', [IndexController::class, 'filterCountFurtherStudy'])->name('filter.count.further.study');
    Route::get('/filter-findworkbeforegraduate', [IndexController::class, 'filterFindWorkBeforeGraduate'])->name('filter.find.work.before.graduate');
    Route::get('/filter-findworkaftergraduate', [IndexController::class, 'filterFindWorkAfterGraduate'])->name('filter.find.work.after.graduate');
    Route::get('/filter-getjobbeforegraduateandcorrelated', [IndexController::class, 'filterGotJobBeforeGraduateAndCorrelated'])->name('filter.got.job.before.graduate.and.correlated');
    Route::get('/filter-ethics', [IndexController::class, 'filterEthics'])->name('filter.ethics');
    Route::get('/filter-ethics2', [IndexController::class, 'filterEthics2'])->name('filter.ethics2');
    Route::get('/filter-skill', [IndexController::class, 'filterSkill'])->name('filter.skill');
    Route::get('/filter-skill2', [IndexController::class, 'filterSkill2'])->name('filter.skill2');
    Route::get('/filter-english', [IndexController::class, 'filterEnglish'])->name('filter.english');
    Route::get('/filter-english2', [IndexController::class, 'filterEnglish2'])->name('filter.english2');
    Route::get('/filter-tiusage', [IndexController::class, 'filterTIUsage'])->name('filter.ti.usage');
    Route::get('/filter-tiusage2', [IndexController::class, 'filterTIUsage2'])->name('filter.ti.usage2');
    Route::get('/filter-communication', [IndexController::class, 'filterCommunication'])->name('filter.communication');
    Route::get('/filter-communication2', [IndexController::class, 'filterCommunication2'])->name('filter.communication2');
    Route::get('/filter-teamwork', [IndexController::class, 'filterTeamWork'])->name('filter.team.work');
    Route::get('/filter-teamwork2', [IndexController::class, 'filterTeamWork2'])->name('filter.team.work2');
    Route::get('/filter-selfimprovement', [IndexController::class, 'filterSelfImprovement'])->name('filter.self.improvement');
    Route::get('/filter-selfimprovement2', [IndexController::class, 'filterSelfImprovement2'])->name('filter.self.improvement2');
    Route::get('/filter-lectures', [IndexController::class, 'filterLectures'])->name('filter.lectures');
    Route::get('/filter-demonstration', [IndexController::class, 'filterDemonstration'])->name('filter.demonstration');
    Route::get('/filter-researchprojectparticipation', [IndexController::class, 'filterResearchProjectParticipation'])->name('filter.research.project.participation');
    Route::get('/filter-internship', [IndexController::class, 'filterInternship'])->name('filter.internship');
    Route::get('/filter-practice', [IndexController::class, 'filterPractice'])->name('filter.practice');
    Route::get('/filter-fieldwork', [IndexController::class, 'filterFieldWork'])->name('filter.field.work');
    Route::get('/filter-discussion', [IndexController::class, 'filterDiscussion'])->name('filter.discussion');
});

require __DIR__ . '/auth.php';
