Files
beatbook/routes/web.php
T
2026-09-12 21:18:19 +01:00

63 lines
3.9 KiB
PHP

<?php
use App\Http\Controllers\Account\DashboardController as AccountDashboardController;
use App\Http\Controllers\Account\PageController as AccountPageController;
use App\Http\Controllers\Admin\ActionController as AdminActionController;
use App\Http\Controllers\Admin\CrudController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Auth\AuthenticatedSessionController;
use App\Http\Controllers\Auth\NewPasswordController;
use App\Http\Controllers\Auth\PasswordResetLinkController;
use App\Http\Controllers\Auth\RegisteredUserController;
use App\Http\Controllers\ContentPageController;
use App\Http\Controllers\DjController;
use App\Http\Controllers\EnquiryController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\LegalController;
use App\Http\Controllers\ReviewController;
use Illuminate\Support\Facades\Route;
Route::get('/', [HomeController::class, 'index'])->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');