diff options
Diffstat (limited to 'lib/Controller/ItemApiController.php')
-rw-r--r-- | lib/Controller/ItemApiController.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/Controller/ItemApiController.php b/lib/Controller/ItemApiController.php index 2e59d5b3a..dec04bbe6 100644 --- a/lib/Controller/ItemApiController.php +++ b/lib/Controller/ItemApiController.php @@ -222,6 +222,25 @@ class ItemApiController extends ApiController /** + * @param int $itemId + * @param bool $isStarred + * + * @return array|JSONResponse + * @throws ServiceConflictException + */ + private function setStarredByItemId(int $itemId, bool $isStarred) + { + try { + $this->itemService->starByItemId($this->getUserId(), $itemId, $isStarred); + } catch (ServiceNotFoundException $ex) { + return $this->error($ex, Http::STATUS_NOT_FOUND); + } + + return []; + } + + + /** * @NoAdminRequired * @NoCSRFRequired * @CORS @@ -257,6 +276,38 @@ class ItemApiController extends ApiController /** * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int $itemId + * + * @return array|JSONResponse + * @throws ServiceConflictException + */ + public function starByItemId(int $itemId) + { + return $this->setStarredByItemId($itemId, true); + } + + + /** + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * + * @param int $itemId + * + * @return array|JSONResponse + * @throws ServiceConflictException + */ + public function unstarByItemId(int $itemId) + { + return $this->setStarredByItemId($itemId, false); + } + + + /** + * @NoAdminRequired * * @NoCSRFRequired * |