Add methods to all controllers

This commit is contained in:
Yassine Guedidi 2025-03-10 01:15:45 +01:00
parent a71b78531d
commit 24784768f5
35 changed files with 118 additions and 109 deletions

View file

@ -13,6 +13,7 @@ doc-api-json:
homepage:
path: "/{page}"
methods: GET
defaults:
_controller: 'Wallabag\Controller\EntryController::showUnreadAction'
page : 1
@ -27,6 +28,7 @@ fos_oauth_server_token:
craue_config_settings_modify:
path: /settings
methods: [GET, POST]
defaults:
_controller: 'Craue\ConfigBundle\Controller\SettingsController::modifyAction'
@ -35,15 +37,18 @@ fos_js_routing:
2fa_login:
path: /2fa
methods: GET
defaults:
_controller: "scheb_two_factor.form_controller:form"
2fa_login_check:
path: /2fa_check
methods: POST
# redirect RSS feed to Atom
rss_to_atom_unread:
path: /{username}/{token}/unread.xml
methods: GET
defaults:
_controller: 'Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction'
route: unread_feed
@ -51,6 +56,7 @@ rss_to_atom_unread:
rss_to_atom_archive:
path: /{username}/{token}/archive.xml
methods: GET
defaults:
_controller: 'Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction'
route: archive_feed
@ -58,6 +64,7 @@ rss_to_atom_archive:
rss_to_atom_starred:
path: /{username}/{token}/starred.xml
methods: GET
defaults:
_controller: 'Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction'
route: starred_feed
@ -65,6 +72,7 @@ rss_to_atom_starred:
rss_to_atom_all:
path: /{username}/{token}/all.xml
methods: GET
defaults:
_controller: 'Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction'
route: all_feed
@ -72,6 +80,7 @@ rss_to_atom_all:
rss_to_atom_tags:
path: /{username}/{token}/tags/{slug}.xml
methods: GET
defaults:
_controller: 'Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction'
route: tag_feed

View file

@ -35,7 +35,7 @@ class AnnotationController extends AbstractFOSRestController
*
* @see Api\WallabagRestController
*
* @Route("/annotations/{entry}.{_format}", methods={"GET"}, name="annotations_get_annotations", defaults={"_format": "json"})
* @Route("/annotations/{entry}.{_format}", name="annotations_get_annotations", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -56,7 +56,7 @@ class AnnotationController extends AbstractFOSRestController
*
* @see Api\WallabagRestController
*
* @Route("/annotations/{entry}.{_format}", methods={"POST"}, name="annotations_post_annotation", defaults={"_format": "json"})
* @Route("/annotations/{entry}.{_format}", name="annotations_post_annotation", methods={"POST"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -90,7 +90,7 @@ class AnnotationController extends AbstractFOSRestController
*
* @see Api\WallabagRestController
*
* @Route("/annotations/{annotation}.{_format}", methods={"PUT"}, name="annotations_put_annotation", defaults={"_format": "json"})
* @Route("/annotations/{annotation}.{_format}", name="annotations_put_annotation", methods={"PUT"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -127,7 +127,7 @@ class AnnotationController extends AbstractFOSRestController
*
* @see Api\WallabagRestController
*
* @Route("/annotations/{annotation}.{_format}", methods={"DELETE"}, name="annotations_delete_annotation", defaults={"_format": "json"})
* @Route("/annotations/{annotation}.{_format}", name="annotations_delete_annotation", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -34,7 +34,7 @@ class AnnotationRestController extends WallabagRestController
* )
* )
*
* @Route("/api/annotations/{entry}.{_format}", methods={"GET"}, name="api_get_annotations", defaults={"_format": "json"})
* @Route("/api/annotations/{entry}.{_format}", name="api_get_annotations", methods={"GET"}, defaults={"_format": "json"})
*
* @return Response
*/
@ -100,7 +100,7 @@ class AnnotationRestController extends WallabagRestController
* )
* )
*
* @Route("/api/annotations/{entry}.{_format}", methods={"POST"}, name="api_post_annotation", defaults={"_format": "json"})
* @Route("/api/annotations/{entry}.{_format}", name="api_post_annotation", methods={"POST"}, defaults={"_format": "json"})
*
* @return Response
*/
@ -136,7 +136,7 @@ class AnnotationRestController extends WallabagRestController
* )
* )
*
* @Route("/api/annotations/{annotation}.{_format}", methods={"PUT"}, name="api_put_annotation", defaults={"_format": "json"})
* @Route("/api/annotations/{annotation}.{_format}", name="api_put_annotation", methods={"PUT"}, defaults={"_format": "json"})
*
* @return Response
*/
@ -172,7 +172,7 @@ class AnnotationRestController extends WallabagRestController
* )
* )
*
* @Route("/api/annotations/{annotation}.{_format}", methods={"DELETE"}, name="api_delete_annotation", defaults={"_format": "json"})
* @Route("/api/annotations/{annotation}.{_format}", name="api_delete_annotation", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return Response
*/

View file

@ -23,7 +23,7 @@ class ConfigRestController extends WallabagRestController
* )
* )
*
* @Route("/api/config.{_format}", methods={"GET"}, name="api_get_config", defaults={"_format": "json"})
* @Route("/api/config.{_format}", name="api_get_config", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -18,7 +18,7 @@ class DeveloperController extends AbstractController
/**
* List all clients and link to create a new one.
*
* @Route("/developer", name="developer")
* @Route("/developer", name="developer", methods={"GET"})
*
* @return Response
*/
@ -34,7 +34,7 @@ class DeveloperController extends AbstractController
/**
* Create a client (an app).
*
* @Route("/developer/client/create", name="developer_create_client")
* @Route("/developer/client/create", name="developer_create_client", methods={"GET", "POST"})
*
* @return Response
*/
@ -69,7 +69,7 @@ class DeveloperController extends AbstractController
/**
* Remove a client.
*
* @Route("/developer/client/delete/{id}", requirements={"id" = "\d+"}, name="developer_delete_client", methods={"POST"})
* @Route("/developer/client/delete/{id}", name="developer_delete_client", methods={"POST"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
@ -97,7 +97,7 @@ class DeveloperController extends AbstractController
/**
* Display developer how to use an existing app.
*
* @Route("/developer/howto/first-app", name="developer_howto_firstapp")
* @Route("/developer/howto/first-app", name="developer_howto_firstapp", methods={"GET"})
*
* @return Response
*/

View file

@ -84,7 +84,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/exists.{_format}", methods={"GET"}, name="api_get_entries_exists", defaults={"_format": "json"})
* @Route("/api/entries/exists.{_format}", name="api_get_entries_exists", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -299,7 +299,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries.{_format}", methods={"GET"}, name="api_get_entries", defaults={"_format": "json"})
* @Route("/api/entries.{_format}", name="api_get_entries", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -391,7 +391,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}.{_format}", methods={"GET"}, name="api_get_entry", defaults={"_format": "json"})
* @Route("/api/entries/{entry}.{_format}", name="api_get_entry", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -435,7 +435,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}/export.{_format}", methods={"GET"}, name="api_get_entry_export", defaults={"_format": "json"})
* @Route("/api/entries/{entry}/export.{_format}", name="api_get_entry_export", methods={"GET"}, defaults={"_format": "json"})
*
* @return Response
*/
@ -470,7 +470,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/list.{_format}", methods={"DELETE"}, name="api_delete_entries_list", defaults={"_format": "json"})
* @Route("/api/entries/list.{_format}", name="api_delete_entries_list", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -528,7 +528,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/lists.{_format}", methods={"POST"}, name="api_post_entries_list", defaults={"_format": "json"})
* @Route("/api/entries/lists.{_format}", name="api_post_entries_list", methods={"POST"}, defaults={"_format": "json"})
*
* @throws HttpException When limit is reached
*
@ -713,7 +713,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries.{_format}", methods={"POST"}, name="api_post_entries", defaults={"_format": "json"})
* @Route("/api/entries.{_format}", name="api_post_entries", methods={"POST"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -938,7 +938,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}.{_format}", methods={"PATCH"}, name="api_patch_entries", defaults={"_format": "json"})
* @Route("/api/entries/{entry}.{_format}", name="api_patch_entries", methods={"PATCH"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1055,7 +1055,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}/reload.{_format}", methods={"PATCH"}, name="api_patch_entries_reload", defaults={"_format": "json"})
* @Route("/api/entries/{entry}/reload.{_format}", name="api_patch_entries_reload", methods={"PATCH"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1112,7 +1112,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}.{_format}", methods={"DELETE"}, name="api_delete_entries", defaults={"_format": "json"})
* @Route("/api/entries/{entry}.{_format}", name="api_delete_entries", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1165,7 +1165,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}/tags.{_format}", methods={"GET"}, name="api_get_entries_tags", defaults={"_format": "json"})
* @Route("/api/entries/{entry}/tags.{_format}", name="api_get_entries_tags", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1209,7 +1209,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}/tags.{_format}", methods={"POST"}, name="api_post_entries_tags", defaults={"_format": "json"})
* @Route("/api/entries/{entry}/tags.{_format}", name="api_post_entries_tags", methods={"POST"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1261,7 +1261,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/{entry}/tags/{tag}.{_format}", methods={"DELETE"}, name="api_delete_entries_tags", defaults={"_format": "json"})
* @Route("/api/entries/{entry}/tags/{tag}.{_format}", name="api_delete_entries_tags", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1297,7 +1297,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/tags/list.{_format}", methods={"DELETE"}, name="api_delete_entries_tags_list", defaults={"_format": "json"})
* @Route("/api/entries/tags/list.{_format}", name="api_delete_entries_tags_list", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -1364,7 +1364,7 @@ class EntryRestController extends WallabagRestController
* )
* )
*
* @Route("/api/entries/tags/lists.{_format}", methods={"POST"}, name="api_post_entries_tags_list", defaults={"_format": "json"})
* @Route("/api/entries/tags/lists.{_format}", name="api_post_entries_tags_list", methods={"POST"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -54,7 +54,7 @@ class SearchRestController extends WallabagRestController
* )
* )
*
* @Route("/api/search.{_format}", methods={"GET"}, name="api_get_search", defaults={"_format": "json"})
* @Route("/api/search.{_format}", name="api_get_search", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -26,7 +26,7 @@ class TagRestController extends WallabagRestController
* )
* )
*
* @Route("/api/tags.{_format}", methods={"GET"}, name="api_get_tags", defaults={"_format": "json"})
* @Route("/api/tags.{_format}", name="api_get_tags", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -63,7 +63,7 @@ class TagRestController extends WallabagRestController
* )
* )
*
* @Route("/api/tag/label.{_format}", methods={"DELETE"}, name="api_delete_tag_label", defaults={"_format": "json"})
* @Route("/api/tag/label.{_format}", name="api_delete_tag_label", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -111,7 +111,7 @@ class TagRestController extends WallabagRestController
* )
* )
*
* @Route("/api/tags/label.{_format}", methods={"DELETE"}, name="api_delete_tags_label", defaults={"_format": "json"})
* @Route("/api/tags/label.{_format}", name="api_delete_tags_label", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -158,7 +158,7 @@ class TagRestController extends WallabagRestController
* )
* )
*
* @Route("/api/tags/{tag}.{_format}", methods={"DELETE"}, name="api_delete_tag", defaults={"_format": "json"})
* @Route("/api/tags/{tag}.{_format}", name="api_delete_tag", methods={"DELETE"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -23,7 +23,7 @@ class TaggingRuleRestController extends WallabagRestController
* )
* )
*
* @Route("/api/taggingrule/export.{_format}", methods={"GET"}, name="api_get_taggingrule_export", defaults={"_format": "json"})
* @Route("/api/taggingrule/export.{_format}", name="api_get_taggingrule_export", methods={"GET"}, defaults={"_format": "json"})
*
* @return Response
*/

View file

@ -34,7 +34,7 @@ class UserRestController extends WallabagRestController
* )
* )
*
* @Route("/api/user.{_format}", methods={"GET"}, name="api_get_user", defaults={"_format": "json"})
* @Route("/api/user.{_format}", name="api_get_user", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -98,7 +98,7 @@ class UserRestController extends WallabagRestController
*
* @todo Make this method (or the whole API) accessible only through https
*
* @Route("/api/user.{_format}", methods={"PUT"}, name="api_put_user", defaults={"_format": "json"})
* @Route("/api/user.{_format}", name="api_put_user", methods={"PUT"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -57,7 +57,7 @@ class WallabagRestController extends AbstractFOSRestController
*
* @deprecated Should use info endpoint instead
*
* @Route("/api/version.{_format}", methods={"GET"}, name="api_get_version", defaults={"_format": "json"})
* @Route("/api/version.{_format}", name="api_get_version", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/
@ -80,7 +80,7 @@ class WallabagRestController extends AbstractFOSRestController
* )
* )
*
* @Route("/api/info.{_format}", methods={"GET"}, name="api_get_info", defaults={"_format": "json"})
* @Route("/api/info.{_format}", name="api_get_info", methods={"GET"}, defaults={"_format": "json"})
*
* @return JsonResponse
*/

View file

@ -74,7 +74,7 @@ class ConfigController extends AbstractController
}
/**
* @Route("/config", name="config")
* @Route("/config", name="config", methods={"GET", "POST"})
*/
public function indexAction(Request $request, Config $craueConfig, TaggingRuleRepository $taggingRuleRepository, IgnoreOriginUserRuleRepository $ignoreOriginUserRuleRepository, UserRepository $userRepository)
{
@ -436,7 +436,7 @@ class ConfigController extends AbstractController
}
/**
* @Route("/generate-token", name="generate_token")
* @Route("/generate-token", name="generate_token", methods={"GET"})
*
* @return RedirectResponse|JsonResponse
*/
@ -461,7 +461,7 @@ class ConfigController extends AbstractController
}
/**
* @Route("/revoke-token", name="revoke_token")
* @Route("/revoke-token", name="revoke_token", methods={"GET"})
*
* @return RedirectResponse|JsonResponse
*/
@ -488,7 +488,7 @@ class ConfigController extends AbstractController
/**
* Deletes a tagging rule and redirect to the config homepage.
*
* @Route("/tagging-rule/delete/{id}", requirements={"id" = "\d+"}, name="delete_tagging_rule")
* @Route("/tagging-rule/delete/{id}", name="delete_tagging_rule", methods={"GET"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
@ -510,7 +510,7 @@ class ConfigController extends AbstractController
/**
* Edit a tagging rule.
*
* @Route("/tagging-rule/edit/{id}", requirements={"id" = "\d+"}, name="edit_tagging_rule")
* @Route("/tagging-rule/edit/{id}", name="edit_tagging_rule", methods={"GET"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
@ -524,7 +524,7 @@ class ConfigController extends AbstractController
/**
* Deletes an ignore origin rule and redirect to the config homepage.
*
* @Route("/ignore-origin-user-rule/delete/{id}", requirements={"id" = "\d+"}, name="delete_ignore_origin_rule")
* @Route("/ignore-origin-user-rule/delete/{id}", name="delete_ignore_origin_rule", methods={"GET"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
@ -546,7 +546,7 @@ class ConfigController extends AbstractController
/**
* Edit an ignore origin rule.
*
* @Route("/ignore-origin-user-rule/edit/{id}", requirements={"id" = "\d+"}, name="edit_ignore_origin_rule")
* @Route("/ignore-origin-user-rule/edit/{id}", name="edit_ignore_origin_rule", methods={"GET"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
@ -560,7 +560,7 @@ class ConfigController extends AbstractController
/**
* Remove all annotations OR tags OR entries for the current user.
*
* @Route("/reset/{type}", requirements={"id" = "annotations|tags|entries|tagging_rules"}, name="config_reset", methods={"POST"})
* @Route("/reset/{type}", name="config_reset", methods={"POST"}, requirements={"id" = "annotations|tags|entries|tagging_rules"})
*
* @return RedirectResponse
*/
@ -647,7 +647,7 @@ class ConfigController extends AbstractController
/**
* Switch view mode for current user.
*
* @Route("/config/view-mode", name="switch_view_mode")
* @Route("/config/view-mode", name="switch_view_mode", methods={"GET"})
*
* @return RedirectResponse
*/
@ -669,7 +669,7 @@ class ConfigController extends AbstractController
*
* @param string $language
*
* @Route("/locale/{language}", name="changeLocale")
* @Route("/locale/{language}", name="changeLocale", methods={"GET"})
*
* @return RedirectResponse
*/
@ -687,7 +687,7 @@ class ConfigController extends AbstractController
/**
* Export tagging rules for the logged in user.
*
* @Route("/tagging-rule/export", name="export_tagging_rule")
* @Route("/tagging-rule/export", name="export_tagging_rule", methods={"GET"})
*
* @return Response
*/

View file

@ -55,7 +55,7 @@ class EntryController extends AbstractController
}
/**
* @Route("/mass", name="mass_action")
* @Route("/mass", name="mass_action", methods={"POST"})
* @IsGranted("EDIT_ENTRIES")
*
* @return Response
@ -141,7 +141,7 @@ class EntryController extends AbstractController
/**
* @param int $page
*
* @Route("/search/{page}", name="search", defaults={"page" = 1})
* @Route("/search/{page}", name="search", methods={"GET", "POST"}, defaults={"page" = 1})
* @IsGranted("LIST_ENTRIES")
*
* Default parameter for page is hardcoded (in duplication of the defaults from the Route)
@ -171,7 +171,7 @@ class EntryController extends AbstractController
}
/**
* @Route("/new-entry", name="new_entry")
* @Route("/new-entry", name="new_entry", methods={"GET", "POST"})
* @IsGranted("CREATE_ENTRIES")
*
* @return Response
@ -215,7 +215,7 @@ class EntryController extends AbstractController
}
/**
* @Route("/bookmarklet", name="bookmarklet")
* @Route("/bookmarklet", name="bookmarklet", methods={"GET"})
* @IsGranted("CREATE_ENTRIES")
*
* @return Response
@ -239,7 +239,7 @@ class EntryController extends AbstractController
}
/**
* @Route("/new", name="new")
* @Route("/new", name="new", methods={"GET"})
* @IsGranted("CREATE_ENTRIES")
*
* @return Response
@ -252,7 +252,7 @@ class EntryController extends AbstractController
/**
* Edit an entry content.
*
* @Route("/edit/{id}", requirements={"id" = "\d+"}, name="edit")
* @Route("/edit/{id}", name="edit", methods={"GET", "POST"}, requirements={"id" = "\d+"})
* @IsGranted("EDIT", subject="entry")
*
* @return Response
@ -285,7 +285,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/all/list/{page}", name="all", defaults={"page" = "1"})
* @Route("/all/list/{page}", name="all", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -300,7 +300,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/unread/list/{page}", name="unread", defaults={"page" = "1"})
* @Route("/unread/list/{page}", name="unread", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -320,7 +320,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/archive/list/{page}", name="archive", defaults={"page" = "1"})
* @Route("/archive/list/{page}", name="archive", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -335,7 +335,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/starred/list/{page}", name="starred", defaults={"page" = "1"})
* @Route("/starred/list/{page}", name="starred", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -350,7 +350,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/untagged/list/{page}", name="untagged", defaults={"page" = "1"})
* @Route("/untagged/list/{page}", name="untagged", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -365,7 +365,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/annotated/list/{page}", name="annotated", defaults={"page" = "1"})
* @Route("/annotated/list/{page}", name="annotated", methods={"GET"}, defaults={"page" = "1"})
* @IsGranted("LIST_ENTRIES")
*
* @return Response
@ -378,7 +378,7 @@ class EntryController extends AbstractController
/**
* Shows random entry depending on the given type.
*
* @Route("/{type}/random", name="random_entry", requirements={"type": "unread|starred|archive|untagged|annotated|all"})
* @Route("/{type}/random", name="random_entry", methods={"GET"}, requirements={"type": "unread|starred|archive|untagged|annotated|all"})
* @IsGranted("LIST_ENTRIES")
*
* @return RedirectResponse
@ -400,7 +400,7 @@ class EntryController extends AbstractController
/**
* Shows entry content.
*
* @Route("/view/{id}", requirements={"id" = "\d+"}, name="view")
* @Route("/view/{id}", name="view", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("VIEW", subject="entry")
*
* @return Response
@ -417,7 +417,7 @@ class EntryController extends AbstractController
* Reload an entry.
* Refetch content from the website and make it readable again.
*
* @Route("/reload/{id}", requirements={"id" = "\d+"}, name="reload_entry")
* @Route("/reload/{id}", name="reload_entry", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("RELOAD", subject="entry")
*
* @return RedirectResponse
@ -445,7 +445,7 @@ class EntryController extends AbstractController
/**
* Changes read status for an entry.
*
* @Route("/archive/{id}", requirements={"id" = "\d+"}, name="archive_entry")
* @Route("/archive/{id}", name="archive_entry", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("ARCHIVE", subject="entry")
*
* @return RedirectResponse
@ -473,7 +473,7 @@ class EntryController extends AbstractController
/**
* Changes starred status for an entry.
*
* @Route("/star/{id}", requirements={"id" = "\d+"}, name="star_entry")
* @Route("/star/{id}", name="star_entry", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("STAR", subject="entry")
*
* @return RedirectResponse
@ -502,7 +502,7 @@ class EntryController extends AbstractController
/**
* Deletes entry and redirect to the homepage or the last viewed page.
*
* @Route("/delete/{id}", requirements={"id" = "\d+"}, name="delete_entry")
* @Route("/delete/{id}", name="delete_entry", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("DELETE", subject="entry")
*
* @return RedirectResponse
@ -539,7 +539,7 @@ class EntryController extends AbstractController
/**
* Get public URL for entry (and generate it if necessary).
*
* @Route("/share/{id}", requirements={"id" = "\d+"}, name="share")
* @Route("/share/{id}", name="share", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("SHARE", subject="entry")
*
* @return Response
@ -561,7 +561,7 @@ class EntryController extends AbstractController
/**
* Disable public sharing for an entry.
*
* @Route("/share/delete/{id}", requirements={"id" = "\d+"}, name="delete_share")
* @Route("/share/delete/{id}", name="delete_share", methods={"GET"}, requirements={"id" = "\d+"})
* @IsGranted("UNSHARE", subject="entry")
*
* @return Response
@ -581,7 +581,7 @@ class EntryController extends AbstractController
/**
* Ability to view a content publicly.
*
* @Route("/share/{uid}", requirements={"uid" = ".+"}, name="share_entry")
* @Route("/share/{uid}", name="share_entry", methods={"GET"}, requirements={"uid" = ".+"})
* @Cache(maxage="25200", smaxage="25200", public=true)
* @IsGranted("PUBLIC_ACCESS")
*
@ -604,7 +604,7 @@ class EntryController extends AbstractController
*
* @param int $page
*
* @Route("/domain/{id}/{page}", requirements={"id" = "\d+"}, defaults={"page" = 1}, name="same_domain")
* @Route("/domain/{id}/{page}", name="same_domain", methods={"GET"}, requirements={"id" = "\d+"}, defaults={"page" = 1})
* @IsGranted("LIST_ENTRIES")
*
* @return Response

View file

@ -19,7 +19,7 @@ class ExportController extends AbstractController
/**
* Gets one entry content.
*
* @Route("/export/{id}.{format}", name="export_entry", requirements={
* @Route("/export/{id}.{format}", name="export_entry", methods={"GET"}, requirements={
* "format": "epub|pdf|json|xml|txt|csv|md",
* "id": "\d+"
* })
@ -53,7 +53,7 @@ class ExportController extends AbstractController
/**
* Export all entries for current user.
*
* @Route("/export/{category}.{format}", name="export_entries", requirements={
* @Route("/export/{category}.{format}", name="export_entries", methods={"GET"}, requirements={
* "format": "epub|pdf|json|xml|txt|csv|md",
* "category": "all|unread|starred|archive|tag_entries|untagged|search|annotated|same_domain"
* })

View file

@ -29,7 +29,7 @@ class FeedController extends AbstractController
/**
* Shows unread entries for current user.
*
* @Route("/feed/{username}/{token}/unread/{page}", name="unread_feed", defaults={"page"=1, "_format"="xml"})
* @Route("/feed/{username}/{token}/unread/{page}", name="unread_feed", methods={"GET"}, defaults={"page"=1, "_format"="xml"})
*
* @ParamConverter("user", class="Wallabag\Entity\User", converter="username_feed_token_converter")
*
@ -43,7 +43,7 @@ class FeedController extends AbstractController
/**
* Shows read entries for current user.
*
* @Route("/feed/{username}/{token}/archive/{page}", name="archive_feed", defaults={"page"=1, "_format"="xml"})
* @Route("/feed/{username}/{token}/archive/{page}", name="archive_feed", methods={"GET"}, defaults={"page"=1, "_format"="xml"})
*
* @ParamConverter("user", class="Wallabag\Entity\User", converter="username_feed_token_converter")
*
@ -57,7 +57,7 @@ class FeedController extends AbstractController
/**
* Shows starred entries for current user.
*
* @Route("/feed/{username}/{token}/starred/{page}", name="starred_feed", defaults={"page"=1, "_format"="xml"})
* @Route("/feed/{username}/{token}/starred/{page}", name="starred_feed", methods={"GET"}, defaults={"page"=1, "_format"="xml"})
*
* @ParamConverter("user", class="Wallabag\Entity\User", converter="username_feed_token_converter")
*
@ -71,7 +71,7 @@ class FeedController extends AbstractController
/**
* Shows all entries for current user.
*
* @Route("/feed/{username}/{token}/all/{page}", name="all_feed", defaults={"page"=1, "_format"="xml"})
* @Route("/feed/{username}/{token}/all/{page}", name="all_feed", methods={"GET"}, defaults={"page"=1, "_format"="xml"})
*
* @ParamConverter("user", class="Wallabag\Entity\User", converter="username_feed_token_converter")
*
@ -85,7 +85,7 @@ class FeedController extends AbstractController
/**
* Shows entries associated to a tag for current user.
*
* @Route("/feed/{username}/{token}/tags/{slug}/{page}", name="tag_feed", defaults={"page"=1, "_format"="xml"})
* @Route("/feed/{username}/{token}/tags/{slug}/{page}", name="tag_feed", methods={"GET"}, defaults={"page"=1, "_format"="xml"})
*
* @ParamConverter("user", class="Wallabag\Entity\User", converter="username_feed_token_converter")
* @ParamConverter("tag", options={"mapping": {"slug": "slug"}})

View file

@ -13,7 +13,7 @@ use Wallabag\Import\ImportInterface;
abstract class BrowserController extends AbstractController
{
/**
* @Route("/import/browser", name="import_browser")
* @Route("/import/browser", name="import_browser", methods={"GET", "POST"})
*
* @return Response
*/

View file

@ -26,7 +26,7 @@ class ChromeController extends BrowserController
}
/**
* @Route("/import/chrome", name="import_chrome")
* @Route("/import/chrome", name="import_chrome", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -24,7 +24,7 @@ class DeliciousController extends AbstractController
}
/**
* @Route("/import/delicious", name="import_delicious")
* @Route("/import/delicious", name="import_delicious", methods={"GET", "POST"})
*/
public function indexAction(Request $request, DeliciousImport $delicious, Config $craueConfig, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class ElcuratorController extends WallabagController
}
/**
* @Route("/import/elcurator", name="import_elcurator")
* @Route("/import/elcurator", name="import_elcurator", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class FirefoxController extends BrowserController
}
/**
* @Route("/import/firefox", name="import_firefox")
* @Route("/import/firefox", name="import_firefox", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -13,7 +13,7 @@ use Wallabag\Import\ImportInterface;
abstract class HtmlController extends AbstractController
{
/**
* @Route("/import/html", name="import_html")
* @Route("/import/html", name="import_html", methods={"GET", "POST"})
*
* @return Response
*/

View file

@ -20,7 +20,7 @@ class ImportController extends AbstractController
}
/**
* @Route("/import/", name="import")
* @Route("/import/", name="import", methods={"GET"})
*/
public function importAction(ImportChain $importChain)
{

View file

@ -24,7 +24,7 @@ class InstapaperController extends AbstractController
}
/**
* @Route("/import/instapaper", name="import_instapaper")
* @Route("/import/instapaper", name="import_instapaper", methods={"GET", "POST"})
*/
public function indexAction(Request $request, InstapaperImport $instapaper, Config $craueConfig, TranslatorInterface $translator)
{

View file

@ -24,7 +24,7 @@ class OmnivoreController extends AbstractController
}
/**
* @Route("/import/omnivore", name="import_omnivore")
* @Route("/import/omnivore", name="import_omnivore", methods={"GET", "POST"})
*/
public function indexAction(Request $request, OmnivoreImport $omnivore, Config $craueConfig, TranslatorInterface $translator)
{

View file

@ -24,7 +24,7 @@ class PinboardController extends AbstractController
}
/**
* @Route("/import/pinboard", name="import_pinboard")
* @Route("/import/pinboard", name="import_pinboard", methods={"GET", "POST"})
*/
public function indexAction(Request $request, PinboardImport $pinboard, Config $craueConfig, TranslatorInterface $translator)
{

View file

@ -30,7 +30,7 @@ class PocketController extends AbstractController
}
/**
* @Route("/import/pocket", name="import_pocket")
* @Route("/import/pocket", name="import_pocket", methods={"GET"})
*/
public function indexAction(PocketImport $pocketImport)
{
@ -51,7 +51,7 @@ class PocketController extends AbstractController
}
/**
* @Route("/import/pocket/auth", name="import_pocket_auth")
* @Route("/import/pocket/auth", name="import_pocket_auth", methods={"POST"})
*/
public function authAction(Request $request, PocketImport $pocketImport)
{
@ -81,7 +81,7 @@ class PocketController extends AbstractController
}
/**
* @Route("/import/pocket/callback", name="import_pocket_callback")
* @Route("/import/pocket/callback", name="import_pocket_callback", methods={"GET"})
*/
public function callbackAction(PocketImport $pocketImport, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class PocketHtmlController extends HtmlController
}
/**
* @Route("/import/pocket_html", name="import_pocket_html")
* @Route("/import/pocket_html", name="import_pocket_html", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -24,7 +24,7 @@ class ReadabilityController extends AbstractController
}
/**
* @Route("/import/readability", name="import_readability")
* @Route("/import/readability", name="import_readability", methods={"GET", "POST"})
*/
public function indexAction(Request $request, ReadabilityImport $readability, Config $craueConfig, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class ShaarliController extends HtmlController
}
/**
* @Route("/import/shaarli", name="import_shaarli")
* @Route("/import/shaarli", name="import_shaarli", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class WallabagV1Controller extends WallabagController
}
/**
* @Route("/import/wallabag-v1", name="import_wallabag_v1")
* @Route("/import/wallabag-v1", name="import_wallabag_v1", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -26,7 +26,7 @@ class WallabagV2Controller extends WallabagController
}
/**
* @Route("/import/wallabag-v2", name="import_wallabag_v2")
* @Route("/import/wallabag-v2", name="import_wallabag_v2", methods={"GET", "POST"})
*/
public function indexAction(Request $request, TranslatorInterface $translator)
{

View file

@ -7,7 +7,7 @@ use Symfony\Component\Routing\Annotation\Route;
class StaticController extends AbstractController
{
/**
* @Route("/howto", name="howto")
* @Route("/howto", name="howto", methods={"GET"})
*/
public function howtoAction()
{
@ -22,7 +22,7 @@ class StaticController extends AbstractController
}
/**
* @Route("/about", name="about")
* @Route("/about", name="about", methods={"GET"})
*/
public function aboutAction()
{
@ -36,7 +36,7 @@ class StaticController extends AbstractController
}
/**
* @Route("/quickstart", name="quickstart")
* @Route("/quickstart", name="quickstart", methods={"GET"})
*/
public function quickstartAction()
{

View file

@ -35,7 +35,7 @@ class TagController extends AbstractController
}
/**
* @Route("/new-tag/{entry}", requirements={"entry" = "\d+"}, name="new_tag", methods={"POST"})
* @Route("/new-tag/{entry}", name="new_tag", methods={"POST"}, requirements={"entry" = "\d+"})
*
* @return Response
*/
@ -86,7 +86,7 @@ class TagController extends AbstractController
/**
* Removes tag from entry.
*
* @Route("/remove-tag/{entry}/{tag}", requirements={"entry" = "\d+", "tag" = "\d+"}, name="remove_tag")
* @Route("/remove-tag/{entry}/{tag}", name="remove_tag", methods={"GET"}, requirements={"entry" = "\d+", "tag" = "\d+"})
*
* @return Response
*/
@ -111,7 +111,7 @@ class TagController extends AbstractController
/**
* Shows tags for current user.
*
* @Route("/tag/list", name="tag")
* @Route("/tag/list", name="tag", methods={"GET"})
*
* @return Response
*/
@ -135,7 +135,7 @@ class TagController extends AbstractController
/**
* @param int $page
*
* @Route("/tag/list/{slug}/{page}", name="tag_entries", defaults={"page" = "1"})
* @Route("/tag/list/{slug}/{page}", name="tag_entries", methods={"GET"}, defaults={"page" = "1"})
* @ParamConverter("tag", options={"mapping": {"slug": "slug"}})
*
* @return Response
@ -174,7 +174,7 @@ class TagController extends AbstractController
* Rename a given tag with a new label
* Create a new tag with the new name and drop the old one.
*
* @Route("/tag/rename/{slug}", name="tag_rename")
* @Route("/tag/rename/{slug}", name="tag_rename", methods={"POST"})
* @ParamConverter("tag", options={"mapping": {"slug": "slug"}})
*
* @return Response
@ -227,7 +227,7 @@ class TagController extends AbstractController
/**
* Tag search results with the current search term.
*
* @Route("/tag/search/{filter}", name="tag_this_search")
* @Route("/tag/search/{filter}", name="tag_this_search", methods={"GET"})
*
* @return Response
*/
@ -262,7 +262,7 @@ class TagController extends AbstractController
/**
* Delete a given tag for the current user.
*
* @Route("/tag/delete/{slug}", name="tag_delete")
* @Route("/tag/delete/{slug}", name="tag_delete", methods={"GET"})
* @ParamConverter("tag", options={"mapping": {"slug": "slug"}})
*
* @return Response

View file

@ -145,7 +145,7 @@ class UserController extends AbstractController
/**
* @param int $page
*
* @Route("/users/list/{page}", name="user_index", defaults={"page" = 1})
* @Route("/users/list/{page}", name="user_index", methods={"GET"}, defaults={"page" = 1})
* @IsGranted("LIST_USERS")
*
* Default parameter for page is hardcoded (in duplication of the defaults from the Route)

View file

@ -56,7 +56,7 @@ class PocketControllerTest extends WallabagTestCase
$this->logInAs('admin');
$client = $this->getTestClient();
$client->request('GET', '/import/pocket/auth');
$client->request('POST', '/import/pocket/auth');
$this->assertSame(302, $client->getResponse()->getStatusCode());
}
@ -77,7 +77,7 @@ class PocketControllerTest extends WallabagTestCase
static::$kernel->getContainer()->set(PocketImport::class, $pocketImport);
$client->request('GET', '/import/pocket/auth');
$client->request('POST', '/import/pocket/auth');
$this->assertSame(301, $client->getResponse()->getStatusCode());
$this->assertStringContainsString('getpocket.com/auth/authorize', $client->getResponse()->headers->get('location'));