24 lines
963 B
PHP
24 lines
963 B
PHP
<?php
|
|
|
|
use App\Enums\UserTypes;
|
|
use App\Http\Controllers\Auth\AuthenticatedUserController;
|
|
use App\Http\Controllers\Auth\ImpersonatedUserController;
|
|
use App\Http\Controllers\Auth\RegisteredUserController;
|
|
use App\Http\Middleware\HasRole;
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
Route::resource('/login', AuthenticatedUserController::class)
|
|
->middleware('throttle:6,1')
|
|
->only(['create', 'store']);
|
|
Route::resource('/register', RegisteredUserController::class)->only(['create', 'store']);
|
|
});
|
|
|
|
Route::delete('/logout', [AuthenticatedUserController::class, 'destroy'])
|
|
->middleware('auth')
|
|
->name('logout');
|
|
|
|
Route::middleware([HasRole::class.':'.UserTypes::Admin->value, 'auth'])->group(function () {
|
|
Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store'])->name('impersonate');
|
|
Route::delete('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy');
|
|
});
|