From c5e8ba25bb0d6d59b3275480f406b5ce3fa83b75 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolas=20L=C5=93uillet?= Date: Tue, 10 Feb 2015 08:35:43 +0100 Subject: [PATCH] getSalt method --- app/config/routing.yml | 5 ---- app/config/security.yml | 1 + .../Controller/WallabagRestController.php | 27 +++++++++++++++++-- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/app/config/routing.yml b/app/config/routing.yml index 426dcdcf..20f6979a 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -18,11 +18,6 @@ login_check: logout: path: /logout -#wallabag_api: -# resource: "@WallabagApiBundle/Controller/" -# type: annotation -# prefix: /api - rest : type : rest resource : "routing_rest.yml" diff --git a/app/config/security.yml b/app/config/security.yml index 4a798e56..e06c8967 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -56,6 +56,7 @@ security: target: / access_control: + - { path: ^/api/salt, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: ROLE_USER } diff --git a/src/Wallabag/CoreBundle/Controller/WallabagRestController.php b/src/Wallabag/CoreBundle/Controller/WallabagRestController.php index 75e5204e..96d2529a 100644 --- a/src/Wallabag/CoreBundle/Controller/WallabagRestController.php +++ b/src/Wallabag/CoreBundle/Controller/WallabagRestController.php @@ -8,10 +8,34 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tags; +use Wallabag\CoreBundle\Entity\User; use Wallabag\CoreBundle\Service\Extractor; class WallabagRestController extends Controller { + /** + * Retrieve salt for a giver user. + * + * @ApiDoc( + * parameters={ + * {"name"="username", "dataType"="string", "required"=true, "description"="username"} + * } + * ) + * @return string + */ + public function getSaltAction($username) + { + $user = $this + ->getDoctrine() + ->getRepository('WallabagCoreBundle:User') + ->findOneByUsername($username); + + if (is_null($user)) { + throw $this->createNotFoundException(); + } + + return $user->getSalt(); + } /** * Retrieve all entries. It could be filtered by many options. * @@ -85,8 +109,7 @@ class WallabagRestController extends Controller $url = $request->request->get('url'); $content = Extractor::extract($url); - $entry = new Entry(); - $entry->setUserId($this->getUser()->getId()); + $entry = new Entry($this->getUser()->getId()); $entry->setUrl($url); $entry->setTitle($request->request->get('title') ?: $content->getTitle()); $entry->setContent($content->getBody()); -- 2.41.0