diff options
Diffstat (limited to 'src/Wallabag/ApiBundle/Controller')
-rw-r--r-- | src/Wallabag/ApiBundle/Controller/WallabagRestController.php | 19 |
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'); |