diff options
author | Sean Molenaar <sean@seanmolenaar.eu> | 2020-10-04 20:45:33 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2020-11-03 19:58:37 +0100 |
commit | 10e8c28feaf6d858948285a291231f651ef74728 (patch) | |
tree | 5c48216dc1ce6a6dd8f292d489bb4a7d03cb5595 /lib/Controller/FolderController.php | |
parent | 361cfa55b7302b29e158647060085550b9a3dfe1 (diff) |
Add migration with foreign keys
Closes #829
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Diffstat (limited to 'lib/Controller/FolderController.php')
-rw-r--r-- | lib/Controller/FolderController.php | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/lib/Controller/FolderController.php b/lib/Controller/FolderController.php index d19726963..09900f5b2 100644 --- a/lib/Controller/FolderController.php +++ b/lib/Controller/FolderController.php @@ -64,13 +64,15 @@ class FolderController extends Controller /** * @NoAdminRequired * - * @param int $folderId - * @param bool $open + * @param int|null $folderId + * @param bool $open * * @return array|JSONResponse */ - public function open(int $folderId, bool $open) + public function open(?int $folderId, bool $open) { + $folderId = $folderId === 0 ? null : $folderId; + try { $this->folderService->open($folderId, $open, $this->userId); } catch (ServiceException $ex) { @@ -108,12 +110,15 @@ class FolderController extends Controller /** * @NoAdminRequired * - * @param int $folderId + * @param int|null $folderId * * @return array|JSONResponse */ - public function delete(int $folderId) + public function delete(?int $folderId) { + if (empty($folderId)) { + return new JSONResponse([], Http::STATUS_BAD_REQUEST); + } try { $this->folderService->markDeleted($folderId, $this->userId); } catch (ServiceNotFoundException $ex) { @@ -127,13 +132,16 @@ class FolderController extends Controller /** * @NoAdminRequired * - * @param string $folderName - * @param int $folderId + * @param string $folderName + * @param int|null $folderId * * @return array|JSONResponse */ - public function rename(string $folderName, int $folderId) + public function rename(string $folderName, ?int $folderId) { + if (empty($folderId)) { + return new JSONResponse([], Http::STATUS_BAD_REQUEST); + } try { $folder = $this->folderService->rename( $folderId, @@ -154,12 +162,15 @@ class FolderController extends Controller /** * @NoAdminRequired * - * @param int $folderId - * @param int $highestItemId + * @param int|null $folderId + * @param int $highestItemId + * * @return array */ - public function read(int $folderId, int $highestItemId): array + public function read(?int $folderId, int $highestItemId): array { + $folderId = $folderId === 0 ? null : $folderId; + $this->itemService->readFolder( $folderId, $highestItemId, @@ -173,12 +184,14 @@ class FolderController extends Controller /** * @NoAdminRequired * - * @param int $folderId + * @param int|null $folderId * * @return array|JSONResponse */ - public function restore(int $folderId) + public function restore(?int $folderId) { + $folderId = $folderId === 0 ? null : $folderId; + try { $this->folderService->unmarkDeleted($folderId, $this->userId); } catch (ServiceNotFoundException $ex) { |