web.php 4.07 KB
<?php

use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\Admin\EmployersController;
use App\Http\Controllers\Admin\UsersController;
use App\Http\Controllers\Admin\WorkersController;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
use App\Models\User;
use App\Http\Controllers\MainController;
use App\Http\Controllers\HomeController;
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 within a group which
| contains the "web" middleware group. Now create something great!
|
*/
/*
Route::get('/', function () {
    return view('welcome');
})->name('index');
*/
Route::get('/', [MainController::class, 'index'])->name('index');

//Роуты авторизации, регистрации, восстановления, аутентификации
Auth::routes(['verify' => true]);
//Личный кабинет пользователя
Route::get('/home', [HomeController::class, 'index'])->name('home');

/*
Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
    $user = User::where('email',$request->input('email'))->first();

    $user->sendEmailVerificationNotification();

    return 'your response';
})->middleware('throttle:6,1')->name('verification.resend');
*/

// Авторизация, регистрация в админку
Route::group([
    'as' => 'admin.', // имя маршрута, например auth.index
    'prefix' => 'admin', // префикс маршрута, например auth/index
    'middleware' => ['guest'],
], function () {
// Форма регистрации
    Route::get('register', [AdminController::class, 'register'])->name('register');

// Создание пользователя
    Route::post('register', [AdminController::class, 'create'])->name('create');
//Форма входа
    Route::get('login', [AdminController::class, 'login'])->name('login');

// аутентификация
    Route::post('login', [AdminController::class, 'autenticate'])->name('auth');

});

// Личный кабинет админки
Route::group([
    'as' => 'admin.', // имя маршрута, например auth.index
    'prefix' => 'admin', // префикс маршрута, например auth/index
    'middleware' => ['auth'], ['admin'],
], function() {

    // выход
    Route::get('logout', [AdminController::class, 'logout'])->name('logout');

    // кабинет главная страница
    Route::get('cabinet', [AdminController::class, 'index'])->name('index');

    // кабинет - пользователи
    Route::get('users', [UsersController::class, 'index'])->name('users');

    // кабинет - пользователи
    Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');

    // кабинет - работодатели
    Route::get('employers', [EmployersController::class, 'index'])->name('employers');

    // кабинет - соискатели
    Route::get('workers', [WorkersController::class, 'index'])->name('workers');

    // кабинет - вакансии
    Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers');

    // кабинет - категории
    Route::get('categories', [AdminController::class, 'index'])->name('categories');

    // кабинет - должности
    Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');

    // кабинет - сообщения
    Route::get('messages', [AdminController::class, 'index'])->name('messages');

    // кабинет - группы пользователей
    Route::get('groups', [AdminController::class, 'index'])->name('groups');

    // кабинет - список админов
    Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
});