aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Controller/WallabagRestController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller/WallabagRestController.php')
-rw-r--r--src/Wallabag/CoreBundle/Controller/WallabagRestController.php41
1 files changed, 33 insertions, 8 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/WallabagRestController.php b/src/Wallabag/CoreBundle/Controller/WallabagRestController.php
index abbf5437..f14f821b 100644
--- a/src/Wallabag/CoreBundle/Controller/WallabagRestController.php
+++ b/src/Wallabag/CoreBundle/Controller/WallabagRestController.php
@@ -17,9 +17,9 @@ class WallabagRestController extends Controller
17 * 17 *
18 * @ApiDoc( 18 * @ApiDoc(
19 * parameters={ 19 * parameters={
20 * {"name"="archive", "dataType"="integer", "required"=false, "format"="'0' or '1', all entries by default", "description"="filter by archived status."}, 20 * {"name"="archive", "dataType"="boolean", "required"=false, "format"="true or false, all entries by default", "description"="filter by archived status."},
21 * {"name"="star", "dataType"="integer", "required"=false, "format"="'0' or '1', all entries by default", "description"="filter by starred status."}, 21 * {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false, all entries by default", "description"="filter by starred status."},
22 * {"name"="delete", "dataType"="integer", "required"=false, "format"="'0' or '1', default '0'", "description"="filter by deleted status."}, 22 * {"name"="delete", "dataType"="boolean", "required"=false, "format"="true or false, default '0'", "description"="filter by deleted status."},
23 * {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated', default 'created'", "description"="sort entries by date."}, 23 * {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated', default 'created'", "description"="sort entries by date."},
24 * {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."}, 24 * {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."},
25 * {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."}, 25 * {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."},
@@ -106,14 +106,40 @@ class WallabagRestController extends Controller
106 * parameters={ 106 * parameters={
107 * {"name"="title", "dataType"="string", "required"=false}, 107 * {"name"="title", "dataType"="string", "required"=false},
108 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, 108 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
109 * {"name"="archive", "dataType"="integer", "required"=false, "format"="'0' or '1', default '0'", "description"="archived the entry."}, 109 * {"name"="archive", "dataType"="boolean", "required"=false, "format"="true or false", "description"="archived the entry."},
110 * {"name"="star", "dataType"="integer", "required"=false, "format"="'0' or '1', default '0'", "description"="starred the entry."}, 110 * {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false", "description"="starred the entry."},
111 * {"name"="delete", "dataType"="integer", "required"=false, "format"="'0' or '1', default '0'", "description"="flag as deleted. Default false. In case that you don't want to *really* remove it.."}, 111 * {"name"="delete", "dataType"="boolean", "required"=false, "format"="true or false", "description"="flag as deleted. Default false. In case that you don't want to *really* remove it.."},
112 * } 112 * }
113 * ) 113 * )
114 */ 114 */
115 public function patchEntriesAction(Entries $entry) 115 public function patchEntriesAction(Entries $entry, Request $request)
116 { 116 {
117 $title = $request->request->get("title");
118 $tags = $request->request->get("tags", array());
119 $isArchived = $request->request->get("archive");
120 $isDeleted = $request->request->get("delete");
121 $isStarred = $request->request->get("star");
122
123 if (!is_null($title)) {
124 $entry->setTitle($title);
125 }
126
127 if (!is_null($isArchived)) {
128 $entry->setRead($isArchived);
129 }
130
131 if (!is_null($isDeleted)) {
132 $entry->setDeleted($isDeleted);
133 }
134
135 if (!is_null($isStarred)) {
136 $entry->setFav($isStarred);
137 }
138
139 $em = $this->getDoctrine()->getManager();
140 $em->flush();
141
142 return $entry;
117 } 143 }
118 144
119 /** 145 /**
@@ -133,7 +159,6 @@ class WallabagRestController extends Controller
133 159
134 $em = $this->getDoctrine()->getManager(); 160 $em = $this->getDoctrine()->getManager();
135 $entry->setDeleted(1); 161 $entry->setDeleted(1);
136 $em->persist($entry);
137 $em->flush(); 162 $em->flush();
138 163
139 return $entry; 164 return $entry;