middleware(['throttle:api', CorrelationId::class])->group(function () { Route::get('/catalogs/{catalog}', [ReferenceCatalogController::class, 'index']) ->whereIn('catalog', ['authorities', 'jurisdictions', 'economic-activities']); Route::get('/home', [HomeController::class, 'show']); Route::get('/sectors', [SectorController::class, 'index']); Route::get('/sectors/{slug}', [SectorController::class, 'show']); Route::get('/opportunities/search', [OpportunityController::class, 'search']); Route::get('/opportunities/{slug}', [OpportunityController::class, 'show']); Route::get('/business-opportunities', [PublicBusinessOpportunityController::class, 'index']); Route::get('/business-opportunities/{slug}', [PublicBusinessOpportunityController::class, 'show']); Route::post('/interest-requests', [InterestRequestController::class, 'store']) ->middleware('throttle:10,1'); Route::get('/legislation/sources', [LegislationSourceController::class, 'index']); }); Route::prefix('v1')->middleware(['web', 'throttle:api', CorrelationId::class])->group(function () { Route::get('/questionnaires/{code}', [SimulationController::class, 'questionnaire']); Route::get('/simulation-drafts/current', [SimulationFormDraftController::class, 'current']); Route::post('/simulation-drafts', [SimulationFormDraftController::class, 'store'])->middleware('throttle:simulation-draft-writes'); Route::get('/simulation-drafts/{id}', [SimulationFormDraftController::class, 'show']); Route::put('/simulation-drafts/{id}', [SimulationFormDraftController::class, 'update'])->middleware('throttle:simulation-draft-writes'); Route::delete('/simulation-drafts/{id}', [SimulationFormDraftController::class, 'destroy'])->middleware('throttle:simulation-draft-writes'); Route::post('/simulations', [SimulationController::class, 'store'])->middleware('throttle:simulation-calculations'); Route::get('/simulations/{id}', [SimulationController::class, 'show']); Route::patch('/simulations/{id}/scenarios/{scenarioId}', [SimulationController::class, 'updateScenario'])->middleware('throttle:simulation-scenario-updates'); Route::get('/simulations/{id}/reports/{reportId}', [SimulationController::class, 'report']); Route::get('/simulations/{id}/jobs', [SimulationController::class, 'jobs']); });