all(), [ 'badge_scan' => ['required', 'string', 'max:255'], ]); if ($validator->fails()) { return $this->respondValidationError($validator->errors()->toArray()); } $result = $this->badgeScan->processScan($validator->validated()['badge_scan']); if (! $result['recognized']) { return $this->error($result['message'], Response::HTTP_NOT_FOUND); } return $this->success([ 'recognized' => true, 'user_id' => $result['user_id'] ?? null, 'display_name' => $result['display_name'] ?? null, ], $result['message']); } /** * Authenticated scan log listing (legacy CI RFIDController::log). */ public function logs(): JsonResponse { return $this->success([ 'logs' => $this->badgeScan->scanLogRows(), ]); } }