aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/ApiBundle/Controller/EntryRestController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/EntryRestController.php')
-rw-r--r--src/Wallabag/ApiBundle/Controller/EntryRestController.php28
1 files changed, 4 insertions, 24 deletions
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
index 33b75665..5c850091 100644
--- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
@@ -4,14 +4,12 @@ namespace Wallabag\ApiBundle\Controller;
4 4
5use Hateoas\Configuration\Route; 5use Hateoas\Configuration\Route;
6use Hateoas\Representation\Factory\PagerfantaFactory; 6use Hateoas\Representation\Factory\PagerfantaFactory;
7use JMS\Serializer\SerializationContext;
8use Nelmio\ApiDocBundle\Annotation\ApiDoc; 7use Nelmio\ApiDocBundle\Annotation\ApiDoc;
9use Symfony\Component\HttpFoundation\JsonResponse; 8use Symfony\Component\HttpFoundation\JsonResponse;
10use Symfony\Component\HttpFoundation\Request; 9use Symfony\Component\HttpFoundation\Request;
11use Symfony\Component\HttpFoundation\Response; 10use Symfony\Component\HttpFoundation\Response;
12use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; 11use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
13use Symfony\Component\HttpKernel\Exception\HttpException; 12use Symfony\Component\HttpKernel\Exception\HttpException;
14use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
15use Wallabag\CoreBundle\Entity\Entry; 13use Wallabag\CoreBundle\Entity\Entry;
16use Wallabag\CoreBundle\Entity\Tag; 14use Wallabag\CoreBundle\Entity\Tag;
17use Wallabag\CoreBundle\Event\EntryDeletedEvent; 15use Wallabag\CoreBundle\Event\EntryDeletedEvent;
@@ -80,7 +78,7 @@ class EntryRestController extends WallabagRestController
80 * parameters={ 78 * parameters={
81 * {"name"="archive", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by archived status."}, 79 * {"name"="archive", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by archived status."},
82 * {"name"="starred", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by starred status."}, 80 * {"name"="starred", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by starred status."},
83 * {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated', default 'created'", "description"="sort entries by date."}, 81 * {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated' or 'archived', default 'created'", "description"="sort entries by date."},
84 * {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."}, 82 * {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."},
85 * {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."}, 83 * {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."},
86 * {"name"="perPage", "dataType"="integer", "required"=false, "format"="default'30'", "description"="results per page."}, 84 * {"name"="perPage", "dataType"="integer", "required"=false, "format"="default'30'", "description"="results per page."},
@@ -141,7 +139,7 @@ class EntryRestController extends WallabagRestController
141 'tags' => $tags, 139 'tags' => $tags,
142 'since' => $since, 140 'since' => $since,
143 ], 141 ],
144 UrlGeneratorInterface::ABSOLUTE_URL 142 true
145 ) 143 )
146 ); 144 );
147 145
@@ -363,7 +361,7 @@ class EntryRestController extends WallabagRestController
363 } 361 }
364 362
365 if (null !== $data['isArchived']) { 363 if (null !== $data['isArchived']) {
366 $entry->setArchived((bool) $data['isArchived']); 364 $entry->updateArchived((bool) $data['isArchived']);
367 } 365 }
368 366
369 if (null !== $data['isStarred']) { 367 if (null !== $data['isStarred']) {
@@ -479,7 +477,7 @@ class EntryRestController extends WallabagRestController
479 } 477 }
480 478
481 if (null !== $data['isArchived']) { 479 if (null !== $data['isArchived']) {
482 $entry->setArchived((bool) $data['isArchived']); 480 $entry->updateArchived((bool) $data['isArchived']);
483 } 481 }
484 482
485 if (null !== $data['isStarred']) { 483 if (null !== $data['isStarred']) {
@@ -787,24 +785,6 @@ class EntryRestController extends WallabagRestController
787 } 785 }
788 786
789 /** 787 /**
790 * Shortcut to send data serialized in json.
791 *
792 * @param mixed $data
793 *
794 * @return JsonResponse
795 */
796 private function sendResponse($data)
797 {
798 // https://github.com/schmittjoh/JMSSerializerBundle/issues/293
799 $context = new SerializationContext();
800 $context->setSerializeNull(true);
801
802 $json = $this->get('jms_serializer')->serialize($data, 'json', $context);
803
804 return (new JsonResponse())->setJson($json);
805 }
806
807 /**
808 * Retrieve value from the request. 788 * Retrieve value from the request.
809 * Used for POST & PATCH on a an entry. 789 * Used for POST & PATCH on a an entry.
810 * 790 *