stage 1 of oauth removal, switch to sanctum pat tokens
This commit is contained in:
@@ -13,13 +13,26 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
use Inertia\Inertia;
|
||||
use Inertia\Response;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request, DashboardSummaryService $summaryService): Response
|
||||
public function __invoke(Request $request, DashboardSummaryService $summaryService)
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
if ($user && $user->role === 'tenant_admin') {
|
||||
$returnTarget = $this->consumeTenantAdminTarget($request);
|
||||
|
||||
if ($returnTarget !== null) {
|
||||
return redirect($returnTarget);
|
||||
}
|
||||
}
|
||||
|
||||
// Block users with 'user' role from accessing dashboard
|
||||
if ($user && $user->role === 'user') {
|
||||
return redirect('/packages');
|
||||
}
|
||||
|
||||
$tenant = $user?->tenant;
|
||||
|
||||
$summary = $tenant instanceof Tenant
|
||||
@@ -65,6 +78,21 @@ class DashboardController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
private function consumeTenantAdminTarget(Request $request): ?string
|
||||
{
|
||||
$target = $request->session()->pull('tenant_admin.return_to');
|
||||
|
||||
if (! is_string($target)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (! str_starts_with($target, '/event-admin')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
|
||||
private function collectUpcomingEvents(Tenant $tenant): Collection
|
||||
{
|
||||
return Event::query()
|
||||
|
||||
Reference in New Issue
Block a user