29 lines
643 B
PHP
29 lines
643 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers;
|
||
|
|
|
||
|
|
use Illuminate\Http\RedirectResponse;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
class WorkspaceSwitchController extends Controller
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Switch the current workspace.
|
||
|
|
*/
|
||
|
|
public function __invoke(Request $request): RedirectResponse
|
||
|
|
{
|
||
|
|
$workspaceId = $request->input('workspace_id');
|
||
|
|
|
||
|
|
$user = $request->user();
|
||
|
|
$hasAccess = $user->workspaces()->where('workspaces.id', $workspaceId)->exists();
|
||
|
|
|
||
|
|
if (! $hasAccess) {
|
||
|
|
return back();
|
||
|
|
}
|
||
|
|
|
||
|
|
$request->session()->put('current_workspace_id', (int) $workspaceId);
|
||
|
|
|
||
|
|
return back();
|
||
|
|
}
|
||
|
|
}
|