name('investment.education'); Route::redirect('/clusters', '/carteira?kind=cluster'); Route::redirect('/corredores', '/carteira?kind=corridor'); Route::redirect('/projectos-ancora', '/carteira?kind=project'); Route::redirect('/portal-do-investidor', '/'); Route::redirect('/portal-do-investidor/oportunidades', '/oportunidades'); Route::get('/portal-do-investidor/oportunidades/{slug}', fn (string $slug) => redirect('/oportunidades/'.rawurlencode($slug), 301)); Route::inertia('/sobre', 'portal/about')->name('institutional.about'); Route::inertia('/contacto', 'portal/contact')->name('institutional.contact'); Route::post('/contacto/mensagem', [PortalContactController::class, 'store'])->middleware('throttle:10,1')->name('institutional.contact.store'); Route::prefix('api/v1/investment')->middleware('throttle:api')->group(function () { foreach (['search', 'references', 'suggest', 'map', 'compare', 'export'] as $method) { Route::get($method, [InvestmentDiscoveryController::class, $method]); } Route::get('opportunities/{slug}', [InvestmentDiscoveryController::class, 'detailApi']); Route::post('favourites/{id}', [InvestmentDiscoveryController::class, 'favourite'])->whereNumber('id')->middleware(['auth', 'verified']); }); Route::middleware(['auth', 'verified', PrivateInvestmentResponse::class])->group(function () { foreach (['investidor', 'api/v1/investment'] as $prefix) { Route::get($prefix.'/profile', [InvestmentWorkspaceController::class, 'profile']); Route::put($prefix.'/profile', [InvestmentWorkspaceController::class, 'saveProfile'])->middleware('throttle:20,1'); Route::post($prefix.'/companies/{id?}', [InvestmentWorkspaceController::class, 'company'])->whereUuid('id')->middleware('throttle:20,1'); Route::put($prefix.'/organizations/{id}/country', [InvestmentWorkspaceController::class, 'organizationCountry'])->whereUuid('id')->middleware('throttle:20,1'); Route::post($prefix.'/companies/{id}/organization-country', [InvestmentWorkspaceController::class, 'reuseOrganizationCountry'])->whereUuid('id')->middleware('throttle:20,1'); Route::get($prefix.'/notifications', [InvestmentWorkspaceController::class, 'notifications']); Route::post($prefix.'/notifications/{id}/read', [InvestmentWorkspaceController::class, 'readNotification'])->whereUuid('id'); } }); Route::middleware(['auth', \App\Http\Middleware\VerifiedOrSimpleParticipation::class, PrivateInvestmentResponse::class])->group(function () { foreach (['investidor/manifestacoes', 'api/v1/investment/submissions'] as $prefix) { Route::get($prefix, [InvestmentSubmissionController::class, 'index']); Route::post($prefix, [InvestmentSubmissionController::class, 'create'])->middleware('throttle:10,1'); Route::get($prefix.'/{id}', [InvestmentSubmissionController::class, 'show'])->whereUuid('id'); Route::put($prefix.'/{id}', [InvestmentSubmissionController::class, 'save'])->whereUuid('id')->middleware('throttle:30,1'); Route::post($prefix.'/{id}/contexto', [InvestmentSubmissionController::class, 'bindContext'])->whereUuid('id')->middleware('throttle:20,1'); Route::post($prefix.'/{id}/submit', [InvestmentSubmissionController::class, 'submit'])->whereUuid('id')->middleware('throttle:10,1'); Route::post($prefix.'/{id}/attachments', [InvestmentSubmissionController::class, 'attach'])->whereUuid('id')->middleware('throttle:10,1'); Route::post($prefix.'/{id}/messages', [InvestmentWorkspaceController::class, 'message'])->whereUuid('id')->middleware('throttle:10,1'); Route::get($prefix.'/{id}/revisions/{version}', [InvestmentWorkspaceController::class, 'revision'])->whereUuid('id')->whereNumber('version'); Route::get($prefix.'/{id}/attachments/{attachment}', [InvestmentSubmissionController::class, 'download'])->whereUuid(['id', 'attachment']); } }); Route::middleware(['auth', 'verified', \App\Http\Middleware\EnsureScopedPortalAdministration::class])->group(function () { Route::patch('/api/v1/investment/admin/interests/{interest}/status', [PortalManagementController::class, 'review'])->whereNumber('interest')->middleware(PrivateInvestmentResponse::class); Route::get('/management/opportunities/{id}/context', [InvestmentContextController::class, 'edit'])->whereNumber('id'); Route::put('/management/opportunities/{id}/context', [InvestmentContextController::class, 'save'])->whereNumber('id'); Route::get('/management/investment/references', [InvestmentContextController::class, 'references']); Route::post('/management/investment/references/{id?}', [InvestmentContextController::class, 'saveReference'])->whereNumber('id'); Route::put('/api/v1/investment/admin/opportunities/{id}/context', [InvestmentContextController::class, 'save'])->whereNumber('id'); Route::post('/api/v1/investment/admin/references/{id?}', [InvestmentContextController::class, 'saveReference'])->whereNumber('id'); });