public function resourceAction($repositoryName, $path) { $repository = $this->registry->get($repositoryName); $resource = $repository->get('/' . $path); $context = SerializationContext::create(); $context->enableMaxDepthChecks(); $context->setSerializeNull(true); $json = $this->serializer->serialize($resource, 'json', $context); $response = new Response($json); $response->headers->set('Content-Type', 'application/json'); return $response; }
/** * Deletes the resource. * * @param string $repositoryName * @param string $path * * @return Response */ public function deleteResourceAction($repositoryName, $path) { $repository = $this->registry->get($repositoryName); $this->failOnNotEditable($repository, $repositoryName); $path = '/' . ltrim($path, '/'); $repository->remove($path); return $this->createResponse('', Response::HTTP_NO_CONTENT); }
/** * Return the alias for the given PHPCR resource. * * @param resource $resource * * @return string */ public function getPayloadAlias(Resource $resource) { $repositoryType = $this->repositoryRegistry->getRepositoryType($resource->getRepository()); $type = null; if ($resource instanceof CmfResource) { $type = $resource->getPayloadType(); } if (null === $type) { return; } if (!isset($this->aliasesByRepository[$repositoryType])) { return; } if (!isset($this->aliasesByRepository[$repositoryType][$type])) { return; } return $this->aliasesByRepository[$repositoryType][$type]; }