mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 11:01:04 +00:00
Factorize sendResponse between Api controllers
And run newer cs fixer
This commit is contained in:
parent
9133bd02d1
commit
019e1acc49
4 changed files with 21 additions and 41 deletions
|
@ -4,7 +4,6 @@ namespace Wallabag\ApiBundle\Controller;
|
||||||
|
|
||||||
use Hateoas\Configuration\Route;
|
use Hateoas\Configuration\Route;
|
||||||
use Hateoas\Representation\Factory\PagerfantaFactory;
|
use Hateoas\Representation\Factory\PagerfantaFactory;
|
||||||
use JMS\Serializer\SerializationContext;
|
|
||||||
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
@ -773,24 +772,6 @@ class EntryRestController extends WallabagRestController
|
||||||
return $this->sendResponse($results);
|
return $this->sendResponse($results);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shortcut to send data serialized in json.
|
|
||||||
*
|
|
||||||
* @param mixed $data
|
|
||||||
*
|
|
||||||
* @return JsonResponse
|
|
||||||
*/
|
|
||||||
private function sendResponse($data)
|
|
||||||
{
|
|
||||||
// https://github.com/schmittjoh/JMSSerializerBundle/issues/293
|
|
||||||
$context = new SerializationContext();
|
|
||||||
$context->setSerializeNull(true);
|
|
||||||
|
|
||||||
$json = $this->get('jms_serializer')->serialize($data, 'json', $context);
|
|
||||||
|
|
||||||
return (new JsonResponse())->setJson($json);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve value from the request.
|
* Retrieve value from the request.
|
||||||
* Used for POST & PATCH on a an entry.
|
* Used for POST & PATCH on a an entry.
|
||||||
|
|
|
@ -4,7 +4,6 @@ namespace Wallabag\ApiBundle\Controller;
|
||||||
|
|
||||||
use Hateoas\Configuration\Route;
|
use Hateoas\Configuration\Route;
|
||||||
use Hateoas\Representation\Factory\PagerfantaFactory;
|
use Hateoas\Representation\Factory\PagerfantaFactory;
|
||||||
use JMS\Serializer\SerializationContext;
|
|
||||||
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
||||||
use Pagerfanta\Adapter\DoctrineORMAdapter;
|
use Pagerfanta\Adapter\DoctrineORMAdapter;
|
||||||
use Pagerfanta\Pagerfanta;
|
use Pagerfanta\Pagerfanta;
|
||||||
|
@ -64,22 +63,4 @@ class SearchRestController extends WallabagRestController
|
||||||
|
|
||||||
return $this->sendResponse($paginatedCollection);
|
return $this->sendResponse($paginatedCollection);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shortcut to send data serialized in json.
|
|
||||||
*
|
|
||||||
* @param mixed $data
|
|
||||||
*
|
|
||||||
* @return JsonResponse
|
|
||||||
*/
|
|
||||||
private function sendResponse($data)
|
|
||||||
{
|
|
||||||
// https://github.com/schmittjoh/JMSSerializerBundle/issues/293
|
|
||||||
$context = new SerializationContext();
|
|
||||||
$context->setSerializeNull(true);
|
|
||||||
|
|
||||||
$json = $this->get('jms_serializer')->serialize($data, 'json', $context);
|
|
||||||
|
|
||||||
return (new JsonResponse())->setJson($json);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Wallabag\ApiBundle\Controller;
|
namespace Wallabag\ApiBundle\Controller;
|
||||||
|
|
||||||
use FOS\RestBundle\Controller\FOSRestController;
|
use FOS\RestBundle\Controller\FOSRestController;
|
||||||
|
use JMS\Serializer\SerializationContext;
|
||||||
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
||||||
|
@ -64,4 +65,22 @@ class WallabagRestController extends FOSRestController
|
||||||
throw $this->createAccessDeniedException('Access forbidden. Entry user id: ' . $requestUserId . ', logged user id: ' . $user->getId());
|
throw $this->createAccessDeniedException('Access forbidden. Entry user id: ' . $requestUserId . ', logged user id: ' . $user->getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shortcut to send data serialized in json.
|
||||||
|
*
|
||||||
|
* @param mixed $data
|
||||||
|
*
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
protected function sendResponse($data)
|
||||||
|
{
|
||||||
|
// https://github.com/schmittjoh/JMSSerializerBundle/issues/293
|
||||||
|
$context = new SerializationContext();
|
||||||
|
$context->setSerializeNull(true);
|
||||||
|
|
||||||
|
$json = $this->get('jms_serializer')->serialize($data, 'json', $context);
|
||||||
|
|
||||||
|
return (new JsonResponse())->setJson($json);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
namespace Tests\Wallabag\ApiBundle\Controller;
|
namespace Tests\Wallabag\ApiBundle\Controller;
|
||||||
|
|
||||||
use Tests\Wallabag\ApiBundle\WallabagApiTestCase;
|
use Tests\Wallabag\ApiBundle\WallabagApiTestCase;
|
||||||
use Wallabag\CoreBundle\Entity\Entry;
|
|
||||||
|
|
||||||
class SearchRestControllerTest extends WallabagApiTestCase
|
class SearchRestControllerTest extends WallabagApiTestCase
|
||||||
{
|
{
|
||||||
|
@ -19,7 +18,7 @@ class SearchRestControllerTest extends WallabagApiTestCase
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
$content = json_decode($this->client->getResponse()->getContent(), true);
|
||||||
|
|
||||||
$this->assertGreaterThanOrEqual(1, count($content));
|
$this->assertGreaterThanOrEqual(1, \count($content));
|
||||||
$this->assertArrayHasKey('items', $content['_embedded']);
|
$this->assertArrayHasKey('items', $content['_embedded']);
|
||||||
$this->assertGreaterThanOrEqual(0, $content['total']);
|
$this->assertGreaterThanOrEqual(0, $content['total']);
|
||||||
$this->assertSame(1, $content['page']);
|
$this->assertSame(1, $content['page']);
|
||||||
|
@ -49,7 +48,7 @@ class SearchRestControllerTest extends WallabagApiTestCase
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
$content = json_decode($this->client->getResponse()->getContent(), true);
|
||||||
|
|
||||||
$this->assertGreaterThanOrEqual(1, count($content));
|
$this->assertGreaterThanOrEqual(1, \count($content));
|
||||||
$this->assertArrayHasKey('items', $content['_embedded']);
|
$this->assertArrayHasKey('items', $content['_embedded']);
|
||||||
$this->assertGreaterThanOrEqual(0, $content['total']);
|
$this->assertGreaterThanOrEqual(0, $content['total']);
|
||||||
$this->assertSame(1, $content['page']);
|
$this->assertSame(1, $content['page']);
|
||||||
|
|
Loading…
Reference in a new issue