vito/app/Http/Middleware/HasProjectMiddleware.php
2024-11-01 16:49:57 +01:00

33 lines
710 B
PHP

<?php
namespace App\Http\Middleware;
use App\Models\User;
use Closure;
use Illuminate\Http\Request;
class HasProjectMiddleware
{
public function handle(Request $request, Closure $next)
{
/** @var ?User $user */
$user = $request->user();
if (! $user) {
return $next($request);
}
if (! $user->currentProject) {
if ($user->allProjects()->count() > 0) {
$user->current_project_id = $user->projects->first()->id;
$user->save();
return $next($request);
}
abort(403, 'You must have a project to access the panel.');
}
return $next($request);
}
}