Files
investbrain/routes/web.php
T

70 lines
2.8 KiB
PHP
Raw Permalink Normal View History

2024-08-01 13:53:10 -05:00
<?php
2025-01-28 17:33:54 -06:00
declare(strict_types=1);
use App\Http\Controllers\ApiTokenController;
2025-01-28 17:33:54 -06:00
use App\Http\Controllers\ConnectedAccountController;
use App\Http\Controllers\DashboardController;
2025-01-28 17:33:54 -06:00
use App\Http\Controllers\HoldingController;
use App\Http\Controllers\InvitedOnboardingController;
2024-08-05 22:41:53 -05:00
use App\Http\Controllers\PortfolioController;
use App\Http\Controllers\PrivacyPolicyController;
use App\Http\Controllers\TermsOfServiceController;
2024-08-15 21:35:43 -05:00
use App\Http\Controllers\TransactionController;
use App\Http\Controllers\UserProfileController;
use App\Support\Spotlight;
use Illuminate\Http\Request;
2025-01-28 17:33:54 -06:00
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\View;
2024-08-01 13:53:10 -05:00
Route::get('/', function () {
2025-01-28 17:14:49 -06:00
if (! config('investbrain.self_hosted', true) && View::exists('landing-page::index')) {
2024-11-06 20:48:38 -06:00
return view('landing-page::index');
2024-09-14 16:12:38 -05:00
}
2024-11-06 20:48:38 -06:00
return redirect(route('dashboard'));
2024-08-22 22:45:17 -05:00
});
Route::middleware(['auth:sanctum', 'web'])->group(function () {
2024-08-01 20:44:41 -05:00
2024-08-06 22:59:17 -05:00
Route::get('/dashboard', [DashboardController::class, 'show'])->name('dashboard');
Route::view('/import-export', 'import-export.show')
->name('import-export')
2025-01-28 17:33:54 -06:00
->when(! config('investbrain.self_hosted'), function ($route) {
return $route->middleware('verified');
});
2024-08-01 13:53:10 -05:00
2024-08-05 22:41:53 -05:00
Route::get('/portfolio/create', [PortfolioController::class, 'create'])->name('portfolio.create');
Route::get('/portfolio/{portfolio}', [PortfolioController::class, 'show'])->name('portfolio.show');
2024-08-15 21:35:43 -05:00
2024-08-26 19:54:45 -05:00
Route::get('/portfolio/{portfolio}/{symbol}', [HoldingController::class, 'show'])->name('holding.show');
2024-08-15 21:35:43 -05:00
Route::get('/transactions', [TransactionController::class, 'index'])->name('transaction.index');
Route::get('/spotlight', function (Request $request) {
return app()->make(Spotlight::class)->search($request);
})->name('spotlight');
Route::get('/user/profile', [UserProfileController::class, 'show'])->name('profile.show');
Route::get('/user/api-tokens', [ApiTokenController::class, 'index'])
->name('api-tokens.index')
->when(! config('investbrain.self_hosted'), function ($route) {
return $route->middleware('verified');
});
2024-08-01 13:53:10 -05:00
});
2024-08-23 18:44:33 -05:00
2024-10-22 20:29:54 -05:00
// Invited onboarding
Route::get('invite/{portfolio}/{user}', InvitedOnboardingController::class)->name('invited_onboarding')->scopeBindings();
2024-08-23 18:44:33 -05:00
Route::get('/terms', [TermsOfServiceController::class, 'show'])->name('terms.show');
Route::get('/privacy', [PrivacyPolicyController::class, 'show'])->name('policy.show');
2024-10-19 23:11:04 -05:00
// social login routes
Route::get('auth/verify/{connected_account}', [ConnectedAccountController::class, 'verify'])->name('oauth.verify_connected_account');
2024-10-19 23:11:04 -05:00
2024-10-19 23:14:15 -05:00
Route::get('auth/{provider}', [ConnectedAccountController::class, 'redirectToProvider'])->name('oauth.redirect');
Route::get('auth/{provider}/callback', [ConnectedAccountController::class, 'handleProviderCallback'])->name('oauth.callback');