diff options
author | Jérémy Benoist <j0k3r@users.noreply.github.com> | 2019-07-08 12:48:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-08 12:48:25 +0200 |
commit | 8effd6e99e5a1f1d0d663ee77b0f5015220d1b4a (patch) | |
tree | d635438784c4b02e1d182cfbc3d47b62e5032f1d /src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php | |
parent | 92cd51aa2c29e23f137cde9b9732ced33ff38e59 (diff) | |
parent | 34be2d5de44ade2a78be73decc0b90a2c1bca720 (diff) | |
download | wallabag-8effd6e99e5a1f1d0d663ee77b0f5015220d1b4a.tar.gz wallabag-8effd6e99e5a1f1d0d663ee77b0f5015220d1b4a.tar.zst wallabag-8effd6e99e5a1f1d0d663ee77b0f5015220d1b4a.zip |
Merge pull request #4028 from wallabag/feature/import-export-tagging-rules
Add ability to import/export tagging rules
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php')
-rw-r--r-- | src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php b/src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php new file mode 100644 index 00000000..2496298a --- /dev/null +++ b/src/Wallabag/ApiBundle/Controller/TaggingRuleRestController.php | |||
@@ -0,0 +1,39 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ApiBundle\Controller; | ||
4 | |||
5 | use JMS\Serializer\SerializationContext; | ||
6 | use JMS\Serializer\SerializerBuilder; | ||
7 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; | ||
8 | use Symfony\Component\HttpFoundation\Response; | ||
9 | |||
10 | class TaggingRuleRestController extends WallabagRestController | ||
11 | { | ||
12 | /** | ||
13 | * Export all tagging rules as a json file. | ||
14 | * | ||
15 | * @ApiDoc() | ||
16 | * | ||
17 | * @return Response | ||
18 | */ | ||
19 | public function getTaggingruleExportAction() | ||
20 | { | ||
21 | $this->validateAuthentication(); | ||
22 | |||
23 | $data = SerializerBuilder::create()->build()->serialize( | ||
24 | $this->getUser()->getConfig()->getTaggingRules(), | ||
25 | 'json', | ||
26 | SerializationContext::create()->setGroups(['export_tagging_rule']) | ||
27 | ); | ||
28 | |||
29 | return Response::create( | ||
30 | $data, | ||
31 | 200, | ||
32 | [ | ||
33 | 'Content-type' => 'application/json', | ||
34 | 'Content-Disposition' => 'attachment; filename="tagging_rules_' . $this->getUser()->getUsername() . '.json"', | ||
35 | 'Content-Transfer-Encoding' => 'UTF-8', | ||
36 | ] | ||
37 | ); | ||
38 | } | ||
39 | } | ||