File: /var/www/quadcode-jobs/routes/web.php
<?php
use App\Http\Controllers\ApplicationController;
use App\Http\Controllers\CategoryController;
use App\Http\Controllers\Controller;
use App\Http\Controllers\GdprController;
use App\Http\Controllers\LocationController;
use App\Http\Controllers\MockHuntflowController;
use App\Http\Controllers\SitemapController;
use Illuminate\Support\Facades\Route;
const EXPRESSION_NUMBER = '[0-9]+';
const EXPRESSION_STRING = '[0-9A-Za-z-]+';
// MARK: - Main pages
Route::view('/', 'site.welcome')->name('home');
Route::get('/jobs', [Controller::class, 'index'])->name('jobs');
Route::get('/job-categories/{category}', [CategoryController::class, 'category'])->name('category.show');
Route::prefix('offices')->group(function () {
Route::view('/', 'site.offices')->name('offices');
Route::get('/{slug}', [LocationController::class, 'offices'])->where('slug', EXPRESSION_STRING)->name('office');
});
// MARK: - GDPR
Route::post('/data-request', [GdprController::class, 'dataRequest'])->name('data.request');
Route::get('/data-request-confirm', [GdprController::class, 'dataRequestConfirm'])->name('data.request.confirm');
Route::post('/data-delete-request', [GdprController::class, 'dataDeleteRequest'])->name('data.delete.request');
Route::get('/data-delete-request-confirm', [GdprController::class, 'dataDeleteRequestConfirm'])->name('data.delete.request.confirm');
// MARK: - Static pages
Route::view('/privacy-policy', 'site.privacy-policy')->name('privacy-policy');
Route::view('/terms-and-conditions', 'site.term-and-conditions')->name('term-and-conditions');
Route::view('/cookie-policy', 'site.cookie-policy')->name('cookie-policy');
Route::view('/products-and-stack', 'site.products-and-stack')->name('products-and-stack');
Route::view('/quadcode-life', 'site.quadcode-life')->name('quadcode-life');
// MARK: - Sitemap
Route::get('/sitemap.xml', [SitemapController::class, 'sitemap']);