aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller/WallabagRestController.php')
-rw-r--r--src/Wallabag/ApiBundle/Controller/WallabagRestController.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
index 03990088..ad85a177 100644
--- a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php
@@ -97,6 +97,9 @@ 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"},
102 * {"name"="content", "dataType"="string", "required"=false, "format"="content", "description"="content you want to pass directly"},
100 * } 103 * }
101 * ) 104 * )
102 * 105 *
@@ -107,6 +110,9 @@ class WallabagRestController extends FOSRestController
107 $this->validateAuthentication(); 110 $this->validateAuthentication();
108 111
109 $url = $request->request->get('url'); 112 $url = $request->request->get('url');
113 $content = $request->request->get('content');
114 $isArchived = $request->request->get('archive');
115 $isStarred = $request->request->get('starred');
110 116
111 $entry = $this->get('wallabag_core.content_proxy')->updateEntry( 117 $entry = $this->get('wallabag_core.content_proxy')->updateEntry(
112 new Entry($this->getUser()), 118 new Entry($this->getUser()),
@@ -118,8 +124,21 @@ class WallabagRestController extends FOSRestController
118 $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags); 124 $this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
119 } 125 }
120 126
127 if (!empty($isStarred)) {
128 $entry->setStarred($isStarred);
129 }
130
131 if (!empty($isArchived)) {
132 $entry->setArchived($isArchived);
133 }
134
135 if (!empty($content)) {
136 $entry->setContent($content);
137 }
138
121 $em = $this->getDoctrine()->getManager(); 139 $em = $this->getDoctrine()->getManager();
122 $em->persist($entry); 140 $em->persist($entry);
141
123 $em->flush(); 142 $em->flush();
124 143
125 $json = $this->get('serializer')->serialize($entry, 'json'); 144 $json = $this->get('serializer')->serialize($entry, 'json');