aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/ApiBundle/Controller/EntryRestController.php
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2017-04-30 09:16:55 +0200
committerThomas Citharel <tcit@tcit.fr>2017-06-14 17:53:52 +0200
commit0f8268c93e6210d368f9dcd1900274871a9eacdf (patch)
tree251024ae114d2a14a67399ba28d02ddb6d031bad /src/Wallabag/ApiBundle/Controller/EntryRestController.php
parentf93a3109a5f0999dbbd69131c9e5041c390120c9 (diff)
downloadwallabag-0f8268c93e6210d368f9dcd1900274871a9eacdf.tar.gz
wallabag-0f8268c93e6210d368f9dcd1900274871a9eacdf.tar.zst
wallabag-0f8268c93e6210d368f9dcd1900274871a9eacdf.zip
Add client_credentials as grant_typeoauth-changes
Therefore, username and password are no longer needed Signed-off-by: Thomas Citharel <tcit@tcit.fr> Allow to have global clients, auth through direct token or auth code and bring scopes Signed-off-by: Thomas Citharel <tcit@tcit.fr> fix review Signed-off-by: Thomas Citharel <tcit@tcit.fr> remove redirect uri requirement on specific clients add back password and depreciate it enforce state Signed-off-by: Thomas Citharel <tcit@tcit.fr> Allow apps to register themselves A handful of changes Signed-off-by: Thomas Citharel <tcit@tcit.fr> change timeout values Signed-off-by: Thomas Citharel <tcit@tcit.fr> set access_token lifetime to 1 year and double for refresh_token Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/EntryRestController.php')
-rw-r--r--src/Wallabag/ApiBundle/Controller/EntryRestController.php23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
index 768c4fdc..93f1f461 100644
--- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
@@ -5,6 +5,7 @@ namespace Wallabag\ApiBundle\Controller;
5use Hateoas\Configuration\Route; 5use Hateoas\Configuration\Route;
6use Hateoas\Representation\Factory\PagerfantaFactory; 6use Hateoas\Representation\Factory\PagerfantaFactory;
7use Nelmio\ApiDocBundle\Annotation\ApiDoc; 7use Nelmio\ApiDocBundle\Annotation\ApiDoc;
8use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
8use Symfony\Component\HttpKernel\Exception\HttpException; 9use Symfony\Component\HttpKernel\Exception\HttpException;
9use Symfony\Component\HttpFoundation\Request; 10use Symfony\Component\HttpFoundation\Request;
10use Symfony\Component\HttpFoundation\JsonResponse; 11use Symfony\Component\HttpFoundation\JsonResponse;
@@ -25,7 +26,7 @@ class EntryRestController extends WallabagRestController
25 * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"} 26 * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"}
26 * } 27 * }
27 * ) 28 * )
28 * 29 * @Security("has_role('ROLE_READ')")
29 * @return JsonResponse 30 * @return JsonResponse
30 */ 31 */
31 public function getEntriesExistsAction(Request $request) 32 public function getEntriesExistsAction(Request $request)
@@ -80,7 +81,7 @@ class EntryRestController extends WallabagRestController
80 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"}, 81 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"},
81 * } 82 * }
82 * ) 83 * )
83 * 84 * @Security("has_role('ROLE_READ')")
84 * @return JsonResponse 85 * @return JsonResponse
85 */ 86 */
86 public function getEntriesAction(Request $request) 87 public function getEntriesAction(Request $request)
@@ -143,7 +144,7 @@ class EntryRestController extends WallabagRestController
143 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 144 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
144 * } 145 * }
145 * ) 146 * )
146 * 147 * @Security("has_role('ROLE_READ')")
147 * @return JsonResponse 148 * @return JsonResponse
148 */ 149 */
149 public function getEntryAction(Entry $entry) 150 public function getEntryAction(Entry $entry)
@@ -162,7 +163,7 @@ class EntryRestController extends WallabagRestController
162 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 163 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
163 * } 164 * }
164 * ) 165 * )
165 * 166 * @Security("has_role('ROLE_READ')")
166 * @return Response 167 * @return Response
167 */ 168 */
168 public function getEntryExportAction(Entry $entry, Request $request) 169 public function getEntryExportAction(Entry $entry, Request $request)
@@ -302,7 +303,7 @@ class EntryRestController extends WallabagRestController
302 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, 303 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"},
303 * } 304 * }
304 * ) 305 * )
305 * 306 * @Security("has_role('ROLE_WRITE')")
306 * @return JsonResponse 307 * @return JsonResponse
307 */ 308 */
308 public function postEntriesAction(Request $request) 309 public function postEntriesAction(Request $request)
@@ -346,7 +347,7 @@ class EntryRestController extends WallabagRestController
346 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, 347 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"},
347 * } 348 * }
348 * ) 349 * )
349 * 350 * @Security("has_role('ROLE_WRITE')")
350 * @return JsonResponse 351 * @return JsonResponse
351 */ 352 */
352 public function patchEntriesAction(Entry $entry, Request $request) 353 public function patchEntriesAction(Entry $entry, Request $request)
@@ -368,7 +369,7 @@ class EntryRestController extends WallabagRestController
368 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 369 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
369 * } 370 * }
370 * ) 371 * )
371 * 372 * @Security("has_role('ROLE_WRITE')")
372 * @return JsonResponse 373 * @return JsonResponse
373 */ 374 */
374 public function patchEntriesReloadAction(Entry $entry) 375 public function patchEntriesReloadAction(Entry $entry)
@@ -410,7 +411,7 @@ class EntryRestController extends WallabagRestController
410 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 411 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
411 * } 412 * }
412 * ) 413 * )
413 * 414 * @Security("has_role('ROLE_WRITE')")
414 * @return JsonResponse 415 * @return JsonResponse
415 */ 416 */
416 public function deleteEntriesAction(Entry $entry) 417 public function deleteEntriesAction(Entry $entry)
@@ -436,7 +437,7 @@ class EntryRestController extends WallabagRestController
436 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 437 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
437 * } 438 * }
438 * ) 439 * )
439 * 440 * @Security("has_role('ROLE_READ')")
440 * @return JsonResponse 441 * @return JsonResponse
441 */ 442 */
442 public function getEntriesTagsAction(Entry $entry) 443 public function getEntriesTagsAction(Entry $entry)
@@ -458,7 +459,7 @@ class EntryRestController extends WallabagRestController
458 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, 459 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
459 * } 460 * }
460 * ) 461 * )
461 * 462 * @Security("has_role('ROLE_WRITE')")
462 * @return JsonResponse 463 * @return JsonResponse
463 */ 464 */
464 public function postEntriesTagsAction(Request $request, Entry $entry) 465 public function postEntriesTagsAction(Request $request, Entry $entry)
@@ -487,7 +488,7 @@ class EntryRestController extends WallabagRestController
487 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 488 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
488 * } 489 * }
489 * ) 490 * )
490 * 491 * @Security("has_role('ROLE_WRITE')")
491 * @return JsonResponse 492 * @return JsonResponse
492 */ 493 */
493 public function deleteEntriesTagsAction(Entry $entry, Tag $tag) 494 public function deleteEntriesTagsAction(Entry $entry, Tag $tag)