currentUser()->isAnonymous()) { throw new AccessDeniedHttpException(); } $nids = $request->request->get('node_ids'); if (!isset($nids)) { throw new NotFoundHttpException(); } return new JsonResponse(history_read_multiple($nids)); } /** * Marks a node as read by the current user right now. * * @param \Symfony\Component\HttpFoundation\Request $request * The request of the page. * @param \Drupal\node\NodeInterface $node * The node whose "last read" timestamp should be updated. */ public function readNode(Request $request, NodeInterface $node) { if ($this->currentUser()->isAnonymous()) { throw new AccessDeniedHttpException(); } // Update the history table, stating that this user viewed this node. history_write($node->id()); return new JsonResponse((int) history_read($node->id())); } }