displays->findByToken($token) ?? abort(404); $this->displays->touch($screen); return view('qms.display.public', [ 'screen' => $screen, 'dataUrl' => route('qms.display.data', $token), ]); } public function data(string $token): JsonResponse { $screen = $this->displays->findByToken($token) ?? abort(404); $this->displays->touch($screen); $payload = $this->displays->payload($screen); foreach ($payload['announcements'] as $announcement) { if (isset($announcement['id'])) { $model = \App\Models\VoiceAnnouncement::find($announcement['id']); if ($model) { $this->voice->markPlayed($model); } } } return response()->json($payload); } }