Files
ladill-queue/app/Http/Middleware/AuthenticateQmsDevice.php
T
isaaccladandCursor cca98eefd2
Deploy Ladill Queue / deploy (push) Successful in 56s
Initial Ladill Queue release — enterprise QMS standalone app.
Phases 1–6: tickets, counters, displays, appointments, workflows, rules, analytics, reports, feedback, admin, device API, and Gitea deploy workflow for queue.ladill.com.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 20:19:52 +00:00

32 lines
749 B
PHP

<?php
namespace App\Http\Middleware;
use App\Services\Qms\DeviceService;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class AuthenticateQmsDevice
{
public function __construct(
protected DeviceService $devices,
) {}
public function handle(Request $request, Closure $next, ?string $type = null): Response
{
$token = (string) ($request->route('token') ?? $request->header('X-Device-Token', ''));
$device = $this->devices->findByToken($token);
abort_unless($device, 401);
if ($type && $device->type !== $type) {
abort(403);
}
$request->attributes->set('qms.device', $device);
return $next($request);
}
}