security->isGranted(StoredObjectRoleEnum::SEE->value, $storedObject)) { throw new AccessDeniedHttpException('not allowed to see this stored object'); } $total = $storedObject->getVersions()->count(); $paginator = $this->paginatorFactory->create($total); $criteria = Criteria::create(); $criteria->orderBy(['id' => Order::Ascending]); $criteria->setMaxResults($paginator->getItemsPerPage())->setFirstResult($paginator->getCurrentPageFirstItemNumber()); $items = $storedObject->getVersions()->matching($criteria); return new JsonResponse( $this->serializer->serialize(new Collection($items, $paginator), 'json', [AbstractNormalizer::GROUPS => ['read']]), json: true ); } }