49 lines
2.9 KiB
PHP
49 lines
2.9 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\V1\HomeController;
|
|
use App\Http\Controllers\Api\V1\InterestRequestController;
|
|
use App\Http\Controllers\Api\V1\LegislationSourceController;
|
|
use App\Http\Controllers\Api\V1\OpportunityController;
|
|
use App\Http\Controllers\Api\V1\ReferenceCatalogController;
|
|
use App\Http\Controllers\Api\V1\SectorController;
|
|
use App\Http\Controllers\Api\V1\SimulationController;
|
|
use App\Http\Controllers\Api\V1\SimulationFormDraftController;
|
|
use App\Http\Middleware\CorrelationId;
|
|
use App\Http\Controllers\PublicBusinessOpportunityController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('v1')->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']);
|
|
});
|