aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas@loeuillet.org>2016-03-04 12:31:27 +0100
committerNicolas LÅ“uillet <nicolas@loeuillet.org>2016-03-04 12:31:27 +0100
commite18138dbca536ebd49c938144f9d051e5276d4ea (patch)
tree501001e8866d7c1c7c4e22c384b208b68aff257b /src/Wallabag/ApiBundle/Controller/WallabagRestController.php
parent9e3355ee4f9601cb4af95323c8b2935b6f2bd838 (diff)
parentfba9e7d44d5987a603add50dc450f50079340dcc (diff)
downloadwallabag-e18138dbca536ebd49c938144f9d051e5276d4ea.tar.gz
wallabag-e18138dbca536ebd49c938144f9d051e5276d4ea.tar.zst
wallabag-e18138dbca536ebd49c938144f9d051e5276d4ea.zip
Merge pull request #1754 from wallabag/v2-api-new-properties-light
Add starred & archive properties to API
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/WallabagRestController.php')
-rw-r--r--src/Wallabag/ApiBundle/Controller/WallabagRestController.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
index 03990088..35a90edd 100644
--- a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
@@ -97,6 +97,8 @@ class WallabagRestController extends FOSRestController
97 * {"name"="url", "dataType"="string", "required"=true, "format"="http://www.test.com/article.html", "description"="Url for the entry."}, 97 * {"name"="url", "dataType"="string", "required"=true, "format"="http://www.test.com/article.html", "description"="Url for the entry."},
98 * {"name"="title", "dataType"="string", "required"=false, "description"="Optional, we'll get the title from the page."}, 98 * {"name"="title", "dataType"="string", "required"=false, "description"="Optional, we'll get the title from the page."},
99 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, 99 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
100 * {"name"="starred", "dataType"="boolean", "required"=false, "format"="true or false", "description"="entry already starred"},
101 * {"name"="archive", "dataType"="boolean", "required"=false, "format"="true or false", "description"="entry already archived"},
100 * } 102 * }
101 * ) 103 * )
102 * 104 *
@@ -107,6 +109,8 @@ class WallabagRestController extends FOSRestController
107 $this->validateAuthentication(); 109 $this->validateAuthentication();
108 110
109 $url = $request->request->get('url'); 111 $url = $request->request->get('url');
112 $isArchived = $request->request->get('archive');
113 $isStarred = $request->request->get('starred');
110 114
111 $entry = $this->get('wallabag_core.content_proxy')->updateEntry( 115 $entry = $this->get('wallabag_core.content_proxy')->updateEntry(
112 new Entry($this->getUser()), 116 new Entry($this->getUser()),
@@ -118,8 +122,17 @@ class WallabagRestController extends FOSRestController
118 $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); 122 $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
119 } 123 }
120 124
125 if (true === (bool) $isStarred) {
126 $entry->setStarred(true);
127 }
128
129 if (true === (bool) $isArchived) {
130 $entry->setArchived(true);
131 }
132
121 $em = $this->getDoctrine()->getManager(); 133 $em = $this->getDoctrine()->getManager();
122 $em->persist($entry); 134 $em->persist($entry);
135
123 $em->flush(); 136 $em->flush();
124 137
125 $json = $this->get('serializer')->serialize($entry, 'json'); 138 $json = $this->get('serializer')->serialize($entry, 'json');