]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Controller/WallabagRestController.php
GET /api/tags/id_tag method
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Controller / WallabagRestController.php
index 276cfe1c78b18412aaa0577c753c3b3418280c08..cb68784d55d02080d5262ae3bdac5b61d4d8474c 100644 (file)
@@ -6,7 +6,6 @@ use Nelmio\ApiDocBundle\Annotation\ApiDoc;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 use Wallabag\CoreBundle\Entity\Entry;
 use Wallabag\CoreBundle\Entity\Tag;
 use Wallabag\CoreBundle\Service\Extractor;
@@ -244,12 +243,24 @@ class WallabagRestController extends Controller
      *
      * @ApiDoc(
      *       requirements={
-     *          {"name"="tag", "dataType"="string", "requirement"="\w+", "description"="The tag"}
+     *          {"name"="label", "dataType"="string", "requirement"="\w+", "description"="Label of the tag"}
      *       }
      * )
      */
-    public function getTagAction(Tag $tag)
+    public function getTagAction($label)
     {
+        $tag = $this
+            ->getDoctrine()
+            ->getRepository('WallabagCoreBundle:Tag')
+            ->findOneByLabel($label);
+
+        if (is_null($tag)) {
+            throw $this->createNotFoundException();
+        }
+
+        $json = $this->get('serializer')->serialize($tag, 'json');
+
+        return new Response($json, 200, array('application/json'));
     }
 
     /**