feat: implement admin management

This commit is contained in:
2026-08-20 07:56:06 +03:30
parent 9d5e325c3f
commit b31dd1b8fb
15 changed files with 838 additions and 326 deletions
+76 -34
View File
@@ -3,6 +3,8 @@
use App\Http\Controllers\Admin\AuthController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\AdminController;
use App\Http\Controllers\Admin\TourController;
use App\Http\Controllers\Admin\FlightController;
use App\Http\Controllers\Admin\UserController;
use Illuminate\Support\Facades\Route;
@@ -28,62 +30,102 @@ Route::prefix('admin')->name('admin.')->group(function () {
Route::prefix('admins')->name('admins.')->middleware('admin.super')->controller(AdminController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('/', 'store')->name('store');
Route::get('create', 'create')->name('create');
Route::post('/', 'store')->name('store');
Route::prefix('{admin}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('/', 'update')->name('update');
Route::delete('/', 'destroy')->name('destroy');
});
Route::prefix('trash')->name('trash.')->group(function () {
Route::get('/', 'trash')->name('index');
Route::prefix('{id}')->group(function () {
Route::post('restore', 'restore')->name('restore');
Route::delete('/', 'forceDelete')->name('force-delete');
});
});
Route::prefix('{admin}')->group(function () {
Route::get('edit', 'edit')->name('edit');
Route::put('/', 'update')->name('update');
Route::delete('/', 'destroy')->name('destroy');
});
Route::prefix('trash')->name('trash.')->group(function () {
Route::get('/', 'trash')->name('index');
Route::prefix('{id}')->group(function () {
Route::post('restore', 'restore')->name('restore');
Route::delete('/', 'forceDelete')->name('force-delete');
});
});
});
Route::prefix('users')->name('users.')->middleware('admin.permission:manage-users')->controller(UserController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/', 'index')->name('index');
Route::prefix('trash')->group(function () {
Route::prefix('trash')->name('trash.')->group(function () {
Route::get('/', 'trash')->name('trash');
Route::get('/', 'trash')->name('index');
Route::prefix('{id}')->group(function () {
Route::prefix('{id}')->group(function () {
Route::post('restore', 'restore')->name('restore');
Route::delete('force-delete', 'forceDelete')->name('forceDelete');
});
Route::post('restore', 'restore')->name('restore');
Route::delete('force-delete', 'forceDelete')->name('forceDelete');
});
});
Route::prefix('{user}')->group(function () {
Route::prefix('{user}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
Route::delete('destroy', 'destroy')->name('destroy');
});
});
Route::prefix('flights')->name('flights.')->middleware('admin.permission:manage-flights')->controller(FlightController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('trash')->group(function () {
Route::get('/', 'trash')->name('trash');
Route::prefix('{id}')->group(function () {
Route::post('restore', 'restore')->name('restore');
Route::delete('force-delete', 'forceDelete')->name('forceDelete');
});
});
Route::prefix('{flight}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
Route::prefix('tours')->name('tours.')->middleware('admin.permission:manage-tours')->controller(TourController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('create', 'create')->name('create');
Route::post('store', 'store')->name('store');
Route::prefix('trash')->group(function () {
Route::get('/', 'trash')->name('trash');
Route::prefix('{id}')->group(function () {
Route::post('restore', 'restore')->name('restore');
Route::delete('force-delete', 'forceDelete')->name('forceDelete');
});
});
Route::prefix('{tour}')->group(function () {
Route::get('show', 'show')->name('show');
Route::get('edit', 'edit')->name('edit');
Route::put('update', 'update')->name('update');
Route::delete('destroy', 'destroy')->name('destroy');
});
});
});
});
});