diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/ItemApiController.php | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/lib/Controller/ItemApiController.php b/lib/Controller/ItemApiController.php index 60d5a469a..bdc6e5140 100644 --- a/lib/Controller/ItemApiController.php +++ b/lib/Controller/ItemApiController.php @@ -323,14 +323,14 @@ class ItemApiController extends ApiController } /** - * @param array $items + * @param array $itemIds * @param bool $isRead * * @throws ServiceConflictException */ - private function setMultipleRead(array $items, bool $isRead): void + private function setMultipleRead(array $itemIds, bool $isRead): void { - foreach ($items as $id) { + foreach ($itemIds as $id) { try { $this->itemService->read($this->getUserId(), $id, $isRead); } catch (ServiceNotFoundException $ex) { @@ -361,6 +361,23 @@ class ItemApiController extends ApiController /** * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int[] $itemIds item ids + * + * @return void + * + * @throws ServiceConflictException + */ + public function readMultipleByIds(array $itemIds): void + { + $this->setMultipleRead($itemIds, true); + } + + + /** + * @NoAdminRequired * * @NoCSRFRequired * @@ -379,6 +396,23 @@ class ItemApiController extends ApiController /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int[] $itemIds item ids + * + * @return void + * + * @throws ServiceConflictException + */ + public function unreadMultipleByIds(array $itemIds): void + { + $this->setMultipleRead($itemIds, false); + } + + + /** * @param array $items * @param bool $isStarred * |