Files

61 lines
4.8 KiB
PHP

<?php
use App\Http\Controllers\CompanyComparisonController;
use App\Http\Controllers\CompanyPreparationController;
use App\Http\Controllers\InvestmentComplementController;
use App\Http\Controllers\InvestmentGuideController;
use App\Http\Controllers\InvestmentPreparationController;
use App\Http\Controllers\InvestorContextController;
use App\Http\Controllers\InvestorPathController as Path;
use App\Http\Controllers\LegacyContentController;
use App\Http\Middleware\PrivateInvestmentResponse;
use App\Http\Middleware\VirtualDeskInstalled;
use Illuminate\Support\Facades\Route;
Route::match(['GET', 'POST'], '/complementos-investimento', [InvestmentComplementController::class, 'index'])->middleware('throttle:60,1');
Route::get('/formas-juridicas', [CompanyComparisonController::class, 'index'])->middleware([PrivateInvestmentResponse::class, 'throttle:60,1']);
Route::get('/guias-investimento/{slug}', [InvestmentGuideController::class, 'index'])->where('slug', '[a-z0-9-]+')->middleware([PrivateInvestmentResponse::class, 'throttle:60,1']);
Route::middleware(['auth', 'verified', PrivateInvestmentResponse::class, VirtualDeskInstalled::class, 'throttle:60,1'])->prefix('investimentos')->group(function () {
Route::get('/', [Path::class, 'index']);
Route::get('/iniciar', [InvestorContextController::class, 'start']);
Route::get('/contexto-atual', [InvestorContextController::class, 'current']);
Route::put('/contexto-atual', [InvestorContextController::class, 'focus']);
Route::get('/fontes-contexto', [InvestorContextController::class, 'options']);
Route::get('/opcoes-corredor', [InvestorContextController::class, 'corridorOptions']);
Route::get('/{id}/preparacao', [InvestmentPreparationController::class, 'show'])->whereUuid('id');
Route::post('/{id}/preparacao', [InvestmentPreparationController::class, 'change'])->whereUuid('id');
Route::get('/{id}/preparacao/previa', [InvestmentPreparationController::class, 'preview'])->whereUuid('id');
Route::get('/{id}/preparacao/exportar/{exportId}', [InvestmentPreparationController::class, 'download'])->whereUuid('id')->whereUuid('exportId');
Route::post('/{id}/preparacao/exportar', [InvestmentPreparationController::class, 'export'])->whereUuid('id');
Route::get('/{id}/forma-juridica', [CompanyComparisonController::class, 'show'])->whereUuid('id');
Route::post('/{id}/forma-juridica', [CompanyComparisonController::class, 'save'])->whereUuid('id');
Route::get('/{id}/preparar-empresa', [CompanyPreparationController::class, 'show'])->whereUuid('id');
Route::post('/{id}/preparar-empresa', [CompanyPreparationController::class, 'save'])->whereUuid('id');
Route::get('/{id}/guias/{slug}', [InvestmentGuideController::class, 'show'])->whereUuid('id')->where('slug', '[a-z0-9-]+');
Route::post('/{id}/guias/{slug}', [InvestmentGuideController::class, 'save'])->whereUuid('id')->where('slug', '[a-z0-9-]+');
Route::get('/{id}/contexto', [InvestorContextController::class, 'show'])->whereUuid('id');
Route::get('/{id}/contexto/editar', [InvestorContextController::class, 'edit'])->whereUuid('id');
Route::post('/{id}/contexto/rascunho', [InvestorContextController::class, 'saveDraft'])->whereUuid('id');
Route::post('/{id}/contexto/previa', [InvestorContextController::class, 'preview'])->whereUuid('id');
Route::post('/{id}/contexto/confirmar', [InvestorContextController::class, 'commit'])->whereUuid('id');
Route::get('/a-partir-do-parque/{zoneId}', [Path::class, 'zoneStart'])->whereUuid('zoneId');
Route::post('/{id}/parques', [Path::class, 'zoneAttach'])->whereUuid('id');
Route::get('/a-partir-do-setor/{sectorSlug}', [Path::class, 'sectorStart']);
Route::post('/{id}/sectores', [Path::class, 'sectorAttach'])->whereUuid('id');
Route::get('/a-partir-de/{legacySlug}', [LegacyContentController::class, 'start'])->whereIn('legacySlug', array_keys(config('legacy_content.articles', [])));
Route::post('/{id}/conteudos', [LegacyContentController::class, 'attach'])->whereUuid('id');
Route::post('/', [Path::class, 'create']);
Route::get('/{id}', [Path::class, 'show'])->whereUuid('id');
Route::post('/{id}/fintech', [Path::class, 'fintech'])->whereUuid('id');
Route::post('/{id}/aplicabilidade', [Path::class, 'facts'])->whereUuid('id');
Route::post('/{id}/etapas/{code}', [Path::class, 'stage'])->whereUuid('id')->where('code', 'S(0[1-9]|1[0-9])');
Route::post('/{id}/resultados', [Path::class, 'tool'])->whereUuid('id');
Route::post('/{id}/tarefas', [Path::class, 'task'])->whereUuid('id');
});
Route::middleware(['auth', 'verified', PrivateInvestmentResponse::class, 'can:manage-portal', 'throttle:30,1'])->prefix('management/investor-context-installation')->group(function () {
Route::get('/', [InvestorContextController::class, 'installation']);
Route::post('/', [InvestorContextController::class, 'install']);
});