publicController = $publicController; $this->userId = $userId; $this->bookmarks = $bookmarks; if ($this->userId !== null) { $authorizer->setUserId($this->userId); } $authorizer->setCORS(false); } /** * @param int $page * @param array $tags * @param string $conjunction * @param string $sortby * @param array $search * @param int $limit * @param bool $untagged * @param int|null $folder * @param string|null $url * @param bool|null $unavailable * @param bool|null $archived * @param bool|null $duplicated * @return DataResponse * * @NoAdminRequired */ public function getBookmarks( $page = 0, $tags = [], $conjunction = "or", $sortby = "", $search = [], $limit = 10, $untagged = false, $folder = null, $url = null, $unavailable = null, $archived = null, $duplicated = null, bool $recursive = false, ): DataResponse { return $this->publicController->getBookmarks($page, $tags, $conjunction, $sortby, $search, $limit, $untagged, $folder, $url, $unavailable, $archived, $duplicated, $recursive); } /** * @param string $id * @return JSONResponse * * @NoAdminRequired */ public function getSingleBookmark($id): JSONResponse { return $this->publicController->getSingleBookmark($id); } /** * @param string $url * @param string|null $title * @param string $description * @param array $tags * @param array $folders * @param string $target * @return JSONResponse * * @NoAdminRequired */ public function newBookmark($url = "", $title = null, $description = null, $tags = null, $folders = [], $target = null): JSONResponse { return $this->publicController->newBookmark($url, $title, $description, $tags, $folders, $target); } /** * @param int|null $id * @param string|null $url * @param string|null $title * @param string $description * @param array $tags * @param array|null $folders * @param string|null $target * @return JSONResponse * * @NoAdminRequired */ public function editBookmark($id = null, $url = null, $title = null, $description = "", $tags = [], $folders = null, $target = null): JSONResponse { return $this->publicController->editBookmark($id, $url, $title, $description, $tags, $folders, $target); } /** * @param int $id * @return JSONResponse * * @NoAdminRequired */ public function deleteBookmark($id = -1): JSONResponse { return $this->publicController->deleteBookmark($id); } /** * @return DataResponse * * @NoAdminRequired */ public function deleteAllBookmarks(): DataResponse { try { $this->bookmarks->deleteAll($this->userId); } catch (UnsupportedOperation | DoesNotExistException | MultipleObjectsReturnedException $e) { return new DataResponse(['status' => 'error', 'data' => ['Internal server error']], Http::STATUS_INTERNAL_SERVER_ERROR); } return new DataResponse(['status' => 'success']); } /** * * @param string $url * @return JSONResponse * @NoAdminRequired */ public function clickBookmark($url = ""): JSONResponse { return $this->publicController->clickBookmark($url); } /** * @param int|null $folder * @return JSONResponse * @NoAdminRequired */ public function importBookmark($folder = null): JSONResponse { return $this->publicController->importBookmark($folder); } /** * * @return JSONResponse|\OCA\Bookmarks\ExportResponse * * @NoAdminRequired */ public function exportBookmark() { return $this->publicController->exportBookmark(); } /** * * @param int $id The id of the bookmark whose favicon shoudl be returned * * @return Http\DataDisplayResponse|Http\NotFoundResponse|Http\RedirectResponse|Http\DataResponse * * @NoAdminRequired * @NoCSRFRequired * * @throws Exception */ public function getBookmarkImage($id) { return $this->publicController->getBookmarkImage($id); } /** * @param int $id The id of the bookmark whose image shoudl be returned * * @return Http\DataDisplayResponse|Http\NotFoundResponse|Http\RedirectResponse|Http\DataResponse * * @NoAdminRequired * @NoCSRFRequired * * @throws Exception */ public function getBookmarkFavicon($id) { return $this->publicController->getBookmarkFavicon($id); } /** * * @param int $folder * @return JSONResponse * * @NoAdminRequired * @NoCSRFRequired */ public function countBookmarks(int $folder): JSONResponse { return $this->publicController->countBookmarks($folder); } /** * * @return JSONResponse * * @NoAdminRequired * @NoCSRFRequired */ public function countUnavailable(): JSONResponse { return $this->publicController->countUnavailable(); } /** * * @return JSONResponse * * @NoAdminRequired * @NoCSRFRequired */ public function countArchived(): JSONResponse { return $this->publicController->countArchived(); } /** * * @return JSONResponse * * @NoAdminRequired * @NoCSRFRequired */ public function countDuplicated(): JSONResponse { return $this->publicController->countDuplicated(); } /** * @return JSONResponse * @NoAdminRequired * @NoCSRFRequired */ public function acquireLock(): JSONResponse { return $this->publicController->acquireLock(); } /** * @return JSONResponse * @NoAdminRequired * @NoCSRFRequired */ public function releaseLock(): JSONResponse { return $this->publicController->releaseLock(); } }