name('home'); Route::get('/djs', [DjController::class, 'index'])->name('djs.index'); Route::get('/dj/{djProfile:slug}', [DjController::class, 'show'])->name('djs.show'); Route::get('/pages/{page:slug}', [ContentPageController::class, 'show'])->name('content.show'); Route::middleware('guest')->group(function () { Route::get('/login', [AuthenticatedSessionController::class, 'create'])->name('login'); Route::post('/login', [AuthenticatedSessionController::class, 'store']); Route::get('/register', [RegisteredUserController::class, 'create'])->name('register'); Route::post('/register', [RegisteredUserController::class, 'store']); Route::get('/forgot-password', [PasswordResetLinkController::class, 'create'])->name('password.request'); Route::post('/forgot-password', [PasswordResetLinkController::class, 'store'])->name('password.email'); Route::get('/reset-password/{token}', [NewPasswordController::class, 'create'])->name('password.reset'); Route::post('/reset-password', [NewPasswordController::class, 'store'])->name('password.store'); }); Route::middleware('auth')->group(function () { Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])->name('logout'); Route::post('/dj/{djProfile}/enquire', [EnquiryController::class, 'store'])->name('enquiries.store'); Route::post('/bookings/{booking}/reviews', [ReviewController::class, 'store'])->name('reviews.store'); Route::get('/dashboard', AccountDashboardController::class)->name('dashboard'); Route::get('/account/enquiries', [AccountPageController::class, 'enquiries'])->name('account.enquiries'); Route::get('/account/bookings', [AccountPageController::class, 'bookings'])->name('account.bookings'); Route::get('/account/profile', [AccountPageController::class, 'profile'])->name('account.profile'); Route::patch('/account/profile', [AccountPageController::class, 'updateProfile'])->name('account.profile.update'); }); Route::middleware(['auth', 'role:admin|super-admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/', DashboardController::class)->name('dashboard'); Route::post('/settings/clear-cache', [AdminActionController::class, 'clearCaches'])->name('settings.clear-cache'); Route::get('/{resource}', [CrudController::class, 'index'])->name('resources.index'); Route::get('/{resource}/create', [CrudController::class, 'create'])->name('resources.create'); Route::post('/{resource}', [CrudController::class, 'store'])->name('resources.store'); Route::get('/{resource}/{id}/edit', [CrudController::class, 'edit'])->name('resources.edit'); Route::put('/{resource}/{id}', [CrudController::class, 'update'])->name('resources.update'); Route::delete('/{resource}/{id}', [CrudController::class, 'destroy'])->name('resources.destroy'); }); Route::get('/privacy', [LegalController::class, 'privacy'])->name('privacy'); Route::get('/cookies', [LegalController::class, 'cookies'])->name('cookies'); Route::get('/terms', [LegalController::class, 'terms'])->name('terms');