group(function () { Route::get('login', [\App\Http\Controllers\AuthController::class, 'login'])->name('login'); Route::middleware(['throttle:login'])->post('login', [\App\Http\Controllers\AuthController::class, 'authorization'])->name('authorization'); }); Route::middleware(['auth', 'verified', \App\Http\Middleware\UserLocale::class])->group(function () { Route::post('logout', [\App\Http\Controllers\AuthController::class, 'logout'])->name('logout'); Route::middleware([\App\Http\Middleware\AdminPanel::class])->prefix('admin')->as('admin.')->group(function () { Route::get('/', [\App\Http\Controllers\Admin\DashboardController::class, 'index'])->name('home'); Route::resource('users', \App\Http\Controllers\Admin\UsersController::class)->only(['index', 'create', 'store', 'edit', 'update', 'destroy'])->where(['user' => '[0-9]+']); Route::put('users/{id}/password', [\App\Http\Controllers\Admin\UsersController::class, 'updatePassword'])->name('users.update-password')->where(['id' => '[0-9]+']); Route::resource('roles', \App\Http\Controllers\Admin\RolesController::class)->only(['index', 'create', 'store', 'edit', 'update', 'destroy'])->where(['role' => '[0-9]+']); Route::resource('projects', \App\Http\Controllers\Admin\ProjectsController::class)->where(['project' => '[0-9]+']); Route::prefix('projects/{project}')->as('projects.')->group(function () { Route::get('about', [\App\Http\Controllers\Admin\Projects\AboutController::class, 'languages'])->name('about.languages'); Route::get('about/{language}', [\App\Http\Controllers\Admin\Projects\AboutController::class, 'edit'])->name('about.edit')->where(['language' => '[0-9]+']); Route::put('about/{language}', [\App\Http\Controllers\Admin\Projects\AboutController::class, 'update'])->name('about.update')->where(['language' => '[0-9]+']); })->where(['project' => '[0-9]+']); Route::post('languages/new-language', [\App\Http\Controllers\Admin\LanguagesController::class, 'newLanguage'])->name('new-language'); }); Route::prefix('profile')->as('profile.')->group(function () { Route::get('/', [\App\Http\Controllers\Private\ProfileController::class, 'profile'])->name('edit'); Route::put('/', [\App\Http\Controllers\Private\ProfileController::class, 'update'])->name('update'); Route::put('password', [\App\Http\Controllers\Private\ProfileController::class, 'updatePassword'])->name('update-password'); Route::get('settings', [\App\Http\Controllers\Private\ProfileController::class, 'settings'])->name('settings'); Route::put('settings', [\App\Http\Controllers\Private\ProfileController::class, 'updateSettings'])->name('update-settings'); }); Route::prefix('storage')->as('storage.')->group(function () { Route::post('image/upload-resize', [\App\Http\Controllers\Storage\ImagesController::class, 'uploadAndResize'])->name('image_upload_and_resize'); }); });