summaryrefslogtreecommitdiffstats
path: root/controller
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-29 22:58:30 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-29 22:58:30 +0200
commitcba949fb0771c832326fc7886cced2bdc37e7536 (patch)
tree9e1a335a83a6006f645c801b762db7525e4c6c59 /controller
parentb91ef01fdbf14c6a5d58e5c471dbb1fc9d17cdfb (diff)
order by pubdate
Diffstat (limited to 'controller')
-rw-r--r--controller/entityapiserializer.php11
-rw-r--r--controller/feedapicontroller.php15
-rw-r--r--controller/folderapicontroller.php11
-rw-r--r--controller/foldercontroller.php38
-rw-r--r--controller/itemapicontroller.php29
-rw-r--r--controller/itemcontroller.php3
6 files changed, 59 insertions, 48 deletions
diff --git a/controller/entityapiserializer.php b/controller/entityapiserializer.php
index c09e27dbd..eb60bc7c5 100644
--- a/controller/entityapiserializer.php
+++ b/controller/entityapiserializer.php
@@ -11,13 +11,12 @@
namespace OCA\News\Controller;
-use \OCP\AppFramework\Http\IResponseSerializer;
use \OCP\AppFramework\Http\Response;
use \OCA\News\Db\IAPI;
-class EntityApiSerializer implements IResponseSerializer {
+class EntityApiSerializer {
public function __construct($level) {
@@ -35,10 +34,6 @@ class EntityApiSerializer implements IResponseSerializer {
*/
public function serialize($data) {
- if($data === null || $data instanceof Response) {
- return $data;
- }
-
if($data instanceof IAPI) {
return [$this->level => [$data->toAPI()]];
}
@@ -58,14 +53,14 @@ class EntityApiSerializer implements IResponseSerializer {
foreach($entities as $entity) {
if($entity instanceof IAPI) {
- $converted[] = $entity->toAPI();
+ $converted[] = $entity->toAPI();
// break if it contains anything else than entities
} else {
return $entities;
}
}
-
+
return $converted;
}
diff --git a/controller/feedapicontroller.php b/controller/feedapicontroller.php
index c6b5b6866..4ba3b9be5 100644
--- a/controller/feedapicontroller.php
+++ b/controller/feedapicontroller.php
@@ -33,6 +33,7 @@ class FeedApiController extends ApiController {
private $userId;
private $logger;
private $loggerParams;
+ private $serializer;
public function __construct($appName,
IRequest $request,
@@ -47,7 +48,7 @@ class FeedApiController extends ApiController {
$this->userId = $userId;
$this->logger = $logger;
$this->loggerParams = $loggerParams;
- $this->registerSerializer(new EntityApiSerializer('feeds'));
+ $this->serializer = new EntityApiSerializer('feeds');
}
@@ -64,14 +65,14 @@ class FeedApiController extends ApiController {
'feeds' => $this->feedService->findAll($this->userId)
];
-
+
try {
$result['newestItemId'] = $this->itemService->getNewestItemId($this->userId);
-
+
// in case there are no items, ignore
} catch(ServiceNotFoundException $ex) {}
- return $result;
+ return $this->serializer->serialize($result);
}
@@ -96,7 +97,7 @@ class FeedApiController extends ApiController {
// in case there are no items, ignore
} catch(ServiceNotFoundException $ex) {}
- return $result;
+ return $this->serializer->serialize($result);
} catch(ServiceConflictException $ex) {
return $this->error($ex, Http::STATUS_CONFLICT);
@@ -110,7 +111,7 @@ class FeedApiController extends ApiController {
* @NoAdminRequired
* @NoCSRFRequired
* @CORS
- *
+ *
* @param int $feedId
*/
public function delete($feedId) {
@@ -179,7 +180,7 @@ class FeedApiController extends ApiController {
foreach ($feeds as $feed) {
$result['feeds'][] = [
- 'id' => $feed->getId(),
+ 'id' => $feed->getId(),
'userId' => $feed->getUserId()
];
}
diff --git a/controller/folderapicontroller.php b/controller/folderapicontroller.php
index c5ed2b05a..666f4cfa2 100644
--- a/controller/folderapicontroller.php
+++ b/controller/folderapicontroller.php
@@ -31,6 +31,7 @@ class FolderApiController extends ApiController {
private $folderService;
private $itemService;
private $userId;
+ private $serializer;
public function __construct($appName,
IRequest $request,
@@ -41,7 +42,7 @@ class FolderApiController extends ApiController {
$this->folderService = $folderService;
$this->itemService = $itemService;
$this->userId = $userId;
- $this->registerSerializer(new EntityApiSerializer('folders'));
+ $this->serializer = new EntityApiSerializer('folders');
}
@@ -51,7 +52,9 @@ class FolderApiController extends ApiController {
* @CORS
*/
public function index() {
- return $this->folderService->findAll($this->userId);
+ return $this->serializer->serialize(
+ $this->folderService->findAll($this->userId)
+ );
}
@@ -65,7 +68,9 @@ class FolderApiController extends ApiController {
public function create($name) {
try {
$this->folderService->purgeDeleted($this->userId, false);
- return $this->folderService->create($name, $this->userId);
+ return $this->serializer->serialize(
+ $this->folderService->create($name, $this->userId)
+ );
} catch(ServiceValidationException $ex) {
return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
} catch(ServiceConflictException $ex) {
diff --git a/controller/foldercontroller.php b/controller/foldercontroller.php
index 4a19ab513..1137a2528 100644
--- a/controller/foldercontroller.php
+++ b/controller/foldercontroller.php
@@ -34,12 +34,12 @@ class FolderController extends Controller {
private $itemService;
private $userId;
- public function __construct($appName,
- IRequest $request,
+ public function __construct($appName,
+ IRequest $request,
FolderService $folderService,
FeedService $feedService,
ItemService $itemService,
- $userId){
+ $userId) {
parent::__construct($appName, $request);
$this->folderService = $folderService;
$this->feedService = $feedService;
@@ -51,23 +51,23 @@ class FolderController extends Controller {
/**
* @NoAdminRequired
*/
- public function index(){
+ public function index() {
$folders = $this->folderService->findAll($this->userId);
return ['folders' => $folders];
}
- private function setOpened($isOpened, $folderId){
+ private function setOpened($isOpened, $folderId) {
$this->folderService->open($folderId, $isOpened, $this->userId);
}
/**
* @NoAdminRequired
- *
+ *
* @param int $folderId
*/
- public function open($folderId){
+ public function open($folderId) {
try {
$this->setOpened(true, $folderId);
} catch(ServiceNotFoundException $ex) {
@@ -81,7 +81,7 @@ class FolderController extends Controller {
*
* @param int $folderId
*/
- public function collapse($folderId){
+ public function collapse($folderId) {
try {
$this->setOpened(false, $folderId);
} catch(ServiceNotFoundException $ex) {
@@ -95,9 +95,9 @@ class FolderController extends Controller {
*
* @param string $folderName
*/
- public function create($folderName){
+ public function create($folderName) {
try {
- // we need to purge deleted folders if a folder is created to
+ // we need to purge deleted folders if a folder is created to
// prevent already exists exceptions
$this->folderService->purgeDeleted($this->userId, false);
$folder = $this->folderService->create($folderName, $this->userId);
@@ -109,16 +109,16 @@ class FolderController extends Controller {
} catch(ServiceValidationException $ex) {
return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
}
-
+
}
/**
* @NoAdminRequired
- *
+ *
* @param int $folderId
*/
- public function delete($folderId){
+ public function delete($folderId) {
try {
$this->folderService->markDeleted($folderId, $this->userId);
} catch (ServiceNotFoundException $ex){
@@ -133,9 +133,9 @@ class FolderController extends Controller {
* @param string $folderName
* @param int $folderId
*/
- public function rename($folderName, $folderId){
+ public function rename($folderName, $folderId) {
try {
- $folder = $this->folderService->rename($folderId, $folderName,
+ $folder = $this->folderService->rename($folderId, $folderName,
$this->userId);
return ['folders' => [$folder]];
@@ -143,7 +143,7 @@ class FolderController extends Controller {
} catch(ServiceConflictException $ex) {
return $this->error($ex, Http::STATUS_CONFLICT);
} catch(ServiceValidationException $ex) {
- return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
+ return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
} catch (ServiceNotFoundException $ex){
return $this->error($ex, Http::STATUS_NOT_FOUND);
}
@@ -155,7 +155,7 @@ class FolderController extends Controller {
* @param int $folderId
* @param int $highestItemId
*/
- public function read($folderId, $highestItemId){
+ public function read($folderId, $highestItemId) {
$this->itemService->readFolder($folderId, $highestItemId, $this->userId);
return ['feeds' => $this->feedService->findAll($this->userId)];
@@ -164,10 +164,10 @@ class FolderController extends Controller {
/**
* @NoAdminRequired
- *
+ *
* @param int $folderId
*/
- public function restore($folderId){
+ public function restore($folderId) {
try {
$this->folderService->unmarkDeleted($folderId, $this->userId);
} catch (ServiceNotFoundException $ex){
diff --git a/controller/itemapicontroller.php b/controller/itemapicontroller.php
index da4596d1e..40366a936 100644
--- a/controller/itemapicontroller.php
+++ b/controller/itemapicontroller.php
@@ -26,6 +26,7 @@ class ItemApiController extends ApiController {
private $itemService;
private $userId;
+ private $serializer;
public function __construct($appName,
IRequest $request,
@@ -34,7 +35,7 @@ class ItemApiController extends ApiController {
parent::__construct($appName, $request);
$this->itemService = $itemService;
$this->userId = $userId;
- $this->registerSerializer(new EntityApiSerializer('items'));
+ $this->serializer = new EntityApiSerializer('items');
}
@@ -42,16 +43,22 @@ class ItemApiController extends ApiController {
* @NoAdminRequired
* @NoCSRFRequired
* @CORS
- *
+ *
* @param int $type
* @param int $id
* @param bool $getRead
* @param int $batchSize
* @param int $offset
+ * @param int $oldestFirst
*/
- public function index($type, $id, $getRead, $batchSize=20, $offset=0) {
- return $this->itemService->findAll($id, $type, $batchSize, $offset,
- $getRead, $this->userId);
+ public function index($type, $id, $getRead, $batchSize=20, $offset=0,
+ $oldestFirst=false) {
+ return $this->serializer->serialize(
+ $this->itemService->findAll(
+ $id, $type, $batchSize, $offset, $getRead, $oldestFirst,
+ $this->userId
+ )
+ );
}
@@ -59,14 +66,16 @@ class ItemApiController extends ApiController {
* @NoAdminRequired
* @NoCSRFRequired
* @CORS
- *
+ *
* @param int $type
* @param int $id
* @param int $lastModified
*/
public function updated($type, $id, $lastModified=0) {
- return $this->itemService->findAllNew($id, $type, $lastModified,
- true, $this->userId);
+ return $this->serializer->serialize(
+ $this->itemService->findAllNew($id, $type, $lastModified,
+ true, $this->userId)
+ );
}
@@ -188,7 +197,7 @@ class ItemApiController extends ApiController {
private function setMultipleStarred($isStarred, $items) {
foreach($items as $item) {
try {
- $this->itemService->star($item['feedId'], $item['guidHash'],
+ $this->itemService->star($item['feedId'], $item['guidHash'],
$isStarred, $this->userId);
} catch(ServiceNotFoundException $ex) {
continue;
@@ -213,7 +222,7 @@ class ItemApiController extends ApiController {
* @NoAdminRequired
* @NoCSRFRequired
* @CORS
- *
+ *
* @param int[] item ids
*/
public function unstarMultiple($items) {
diff --git a/controller/itemcontroller.php b/controller/itemcontroller.php
index 486d0b922..4f3f22c62 100644
--- a/controller/itemcontroller.php
+++ b/controller/itemcontroller.php
@@ -80,7 +80,8 @@ class ItemController extends Controller {
}
$params['items'] = $this->itemService->findAll(
- $id, $type, $limit, $offset, $showAll, $this->userId, $oldestFirst
+ $id, $type, $limit, $offset, $showAll, $oldestFirst,
+ $this->userId
);
// this gets thrown if there are no items