Files
sogandAsghary.Project09/routes/admin.php
T

108 lines
4.0 KiB
PHP

<?php
use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\FlightController;
use App\Http\Controllers\Admin\UserController;
use App\Http\Controllers\Admin\TourController;
use Illuminate\Support\Facades\Route;
Route::prefix('admin')->name('admin.')->group(function () {
Route::get('/', function () {
return redirect()->route('admin.dashboard.index');
})->name('index');
Route::prefix('auth')->name('auth.')->controller(AuthController::class)->group(function () {
Route::prefix('login')->name('login.')->middleware('guest:admin')->group(function () {
Route::get('/', 'login')->name('index');
Route::post('/', 'loginPost')->name('post');
});
Route::get('logout', 'logout')->middleware('auth:admin')->name('logout');
});
Route::middleware('auth:admin')->group(function () {
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index');
Route::prefix('admins')->name('admins.')->controller(AdminController::class)->group(function () {
Route::get('/', 'index')->name('index')->middleware('admin.permission:admin_view');
Route::get('create', 'create')->name('create')->middleware('admin.permission:admin_create');
Route::post('store', 'store')->name('store')->middleware('admin.permission:admin_create');
Route::prefix('{admin}')->group(function () {
Route::get('edit', 'edit')->name('edit')->middleware('admin.permission:admin_edit');
Route::put('update', 'update')->name('update')->middleware('admin.permission:admin_edit');
Route::delete('destroy', 'destroy')->name('destroy')->middleware('admin.permission:admin_edit');
});
});
Route::prefix('users')->name('users.')->controller(UserController::class)->group(function () {
Route::get('/', 'index')->name('index')->middleware('admin.permission:user_view');
Route::prefix('{user}')->group(function () {
Route::get('edit', 'edit')->name('edit')->middleware('admin.permission:admin_edit');
Route::put('update', 'update')->name('update')->middleware('admin.permission:user_edit');
Route::delete('destroy', 'destroy')->name('destroy')->middleware('admin.permission:user_destroy');
});
});
Route::prefix('flights')->name('flights.')->controller(FlightController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create')->middleware('admin.permission:flight_create');
Route::post('store', 'store')->name('store')->middleware('admin.permission:flight_create');
Route::prefix('{flight}')->group(function () {
Route::get('edit', 'edit')->name('edit')->middleware('admin.permission:flight_edit');
Route::put('update', 'update')->name('update')->middleware('admin.permission:flight_edit');
Route::delete('destroy', 'destroy')->name('destroy')->middleware('admin.permission:flight_delete');
});
});
Route::prefix('tours')->name('tours.')->controller(TourController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create')->middleware('admin.permission:tour_create');
Route::post('store', 'store')->name('store')->middleware('admin.permission:tour_create');
Route::prefix('{tour}')->group(function () {
Route::get('edit', 'edit')->name('edit')->middleware('admin.permission:tour_edit');
Route::put('update', 'update')->name('update')->middleware('admin.permission:tour_edit');
Route::delete('destroy', 'destroy')->name('destroy')->middleware('admin.permission:tour_delete');
});
});
});
});