initial commit

This commit is contained in:
bastien
2026-06-28 12:29:53 +02:00
parent 03e85d2f9d
commit b2443b654c
220 changed files with 24969 additions and 1 deletions
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Middleware;
use App\Models\Supervisor;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Laravel\Sanctum\PersonalAccessToken;
use Symfony\Component\HttpFoundation\Response;
class AuthenticateSupervisor
{
public function handle(Request $request, Closure $next): Response
{
if ($request->bearerToken() !== null) {
$token = PersonalAccessToken::findToken($request->bearerToken());
if ($token !== null
&& $token->tokenable instanceof Supervisor
&& $token->can('supervisor')
&& $token->tokenable->is_active
) {
Auth::guard('supervisor')->setUser($token->tokenable);
$request->setUserResolver(fn () => $token->tokenable);
return $next($request);
}
return response()->json([
'message' => 'Token superviseur invalide.',
], 401);
}
if (Auth::guard('supervisor')->check()) {
$supervisor = Auth::guard('supervisor')->user();
if ($supervisor instanceof Supervisor && $supervisor->is_active) {
return $next($request);
}
}
return response()->json([
'message' => 'Superviseur non authentifié.',
], 401);
}
}