42 lines
1.6 KiB
PHP
42 lines
1.6 KiB
PHP
<?php
|
|
|
|
use App\Enums\UserTypes;
|
|
use App\Http\Controllers\Auth\AuthenticatedUserController;
|
|
use App\Http\Controllers\Auth\ImpersonatedUserController;
|
|
use App\Http\Controllers\Auth\PasswordResetController;
|
|
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::prefix('password/reset')->name('password.reset.')->middleware('throttle:20,1')->group(function () {
|
|
Route::controller(PasswordResetController::class)->group(function () {
|
|
Route::get('/', 'show')->name('show');
|
|
Route::post('/', 'sendCode')->name('send');
|
|
Route::get('/verify',
|
|
'showVerify')->name('show.verify');
|
|
Route::post('/verify',
|
|
'verify')->name('verify');
|
|
Route::get('/update',
|
|
'showUpdate')->name('show.update');
|
|
Route::post('/update',
|
|
'update')->name('update');
|
|
});
|
|
});
|
|
});
|
|
|
|
Route::delete('/logout', [AuthenticatedUserController::class, 'destroy'])
|
|
->middleware('auth')
|
|
->name('logout');
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store'])
|
|
->middleware(HasRole::class.':'.UserTypes::Admin->value)
|
|
->name('impersonate');
|
|
Route::get('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy');
|
|
});
|