diff options
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/EntryRestController.php')
-rw-r--r-- | src/Wallabag/ApiBundle/Controller/EntryRestController.php | 28 |
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 | ||
5 | use Hateoas\Configuration\Route; | 5 | use Hateoas\Configuration\Route; |
6 | use Hateoas\Representation\Factory\PagerfantaFactory; | 6 | use Hateoas\Representation\Factory\PagerfantaFactory; |
7 | use JMS\Serializer\SerializationContext; | ||
8 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; | 7 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; |
9 | use Symfony\Component\HttpFoundation\JsonResponse; | 8 | use Symfony\Component\HttpFoundation\JsonResponse; |
10 | use Symfony\Component\HttpFoundation\Request; | 9 | use Symfony\Component\HttpFoundation\Request; |
11 | use Symfony\Component\HttpFoundation\Response; | 10 | use Symfony\Component\HttpFoundation\Response; |
12 | use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; | 11 | use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; |
13 | use Symfony\Component\HttpKernel\Exception\HttpException; | 12 | use Symfony\Component\HttpKernel\Exception\HttpException; |
14 | use Symfony\Component\Routing\Generator\UrlGeneratorInterface; | ||
15 | use Wallabag\CoreBundle\Entity\Entry; | 13 | use Wallabag\CoreBundle\Entity\Entry; |
16 | use Wallabag\CoreBundle\Entity\Tag; | 14 | use Wallabag\CoreBundle\Entity\Tag; |
17 | use Wallabag\CoreBundle\Event\EntryDeletedEvent; | 15 | use 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 | * |