diff options
author | Paul Tirk <paultirk@paultirk.com> | 2022-04-12 17:23:07 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2022-04-30 20:04:30 +0200 |
commit | 4b6816914221193d4812eafb75d329d230bbd08e (patch) | |
tree | 717d6a0db6228601483dee979054385fb7a288a4 /lib | |
parent | 81243985d24a6fc6fad803ce7f44e48a10751dfe (diff) |
also allow starring/unstarring multiple items by id
Signed-off-by: Paul Tirk <paultirk@paultirk.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/ItemApiController.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/Controller/ItemApiController.php b/lib/Controller/ItemApiController.php index 9b8090ef7..baf12adc2 100644 --- a/lib/Controller/ItemApiController.php +++ b/lib/Controller/ItemApiController.php @@ -402,6 +402,28 @@ class ItemApiController extends ApiController /** + * @param array $itemIds + * @param bool $isStarred + * + * @return void + */ + private function setMultipleStarredByItemIds(array $itemIds, bool $isStarred): void + { + foreach ($itemIds as $itemId) { + try { + $this->itemService->star( + $this->getUserId(), + $itemId, + $isStarred + ); + } catch (ServiceNotFoundException | ServiceConflictException $ex) { + continue; + } + } + } + + + /** * @NoAdminRequired * * @NoCSRFRequired @@ -433,4 +455,34 @@ class ItemApiController extends ApiController { $this->setMultipleStarred($items, false); } + + + /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int[] $items item ids + * + * @return void + */ + public function starMultipleByItemIds(array $itemIds): void + { + $this->setMultipleStarredByItemIds($itemIds, true); + } + + + /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param array $items item ids + * + * @return void + */ + public function unstarMultipleByItemIds(array $itemIds): void + { + $this->setMultipleStarredByItemIds($itemIds, false); + } } |