Files
ladill-queue/app/Http/Controllers/Api/DeviceHeartbeatController.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

33 lines
874 B
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Services\Qms\DeviceService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DeviceHeartbeatController extends Controller
{
public function __construct(
protected DeviceService $devices,
) {}
public function __invoke(Request $request): JsonResponse
{
$token = $request->bearerToken() ?? $request->input('device_token');
abort_unless($token, 401, 'Device token required.');
$device = $this->devices->findByToken($token);
abort_unless($device, 401, 'Invalid device token.');
$this->devices->recordHeartbeat($device);
return response()->json([
'status' => 'ok',
'device_id' => $device->uuid,
'server_time' => now()->toIso8601String(),
]);
}
}