diff options
author | dartcafe <github@dartcafe.de> | 2020-06-20 14:15:48 +0300 |
---|---|---|
committer | dartcafe <github@dartcafe.de> | 2020-06-20 14:15:48 +0300 |
commit | feb0fc3e16bde4d0fb0871e50a6c60eca83483d2 (patch) | |
tree | 12a291febcbb6b9be9086d6e946432c1769de713 /lib/Controller | |
parent | d3b8c7c7028b6c112c230df6c010263dfb1a1130 (diff) |
Updated API and code polish, tidy
Diffstat (limited to 'lib/Controller')
-rw-r--r-- | lib/Controller/CommentApiController.php | 46 | ||||
-rw-r--r-- | lib/Controller/CommentController.php | 4 | ||||
-rw-r--r-- | lib/Controller/OptionApiController.php | 56 | ||||
-rw-r--r-- | lib/Controller/OptionController.php | 3 | ||||
-rw-r--r-- | lib/Controller/PollApiController.php | 56 | ||||
-rw-r--r-- | lib/Controller/ShareApiController.php | 79 | ||||
-rw-r--r-- | lib/Controller/ShareController.php | 8 | ||||
-rw-r--r-- | lib/Controller/SubscriptionApiController.php | 8 | ||||
-rw-r--r-- | lib/Controller/VoteApiController.php | 30 |
9 files changed, 101 insertions, 189 deletions
diff --git a/lib/Controller/CommentApiController.php b/lib/Controller/CommentApiController.php index fbee1078..9d93b83b 100644 --- a/lib/Controller/CommentApiController.php +++ b/lib/Controller/CommentApiController.php @@ -69,37 +69,17 @@ class CommentApiController extends ApiController { * Read all comments of a poll based on the poll id and return list as array * @NoAdminRequired * @CORS - * @PublicPage * @NoCSRFRequired * @param integer $pollId * @return DataResponse */ - public function list($pollId, $token = '') { + public function list($pollId) { try { - return new DataResponse($this->commentService->list($pollId, $token), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); + return new DataResponse($this->commentService->list($pollId), Http::STATUS_OK); } catch (DoesNotExistException $e) { return new DataResponse('Poll with id ' . $pollId . ' not found', Http::STATUS_NOT_FOUND); - } - } - - /** - * Read all comments of a poll based on a share token and return list as array - * @NoAdminRequired - * @CORS - * @NoCSRFRequired - * @PublicPage - * @param string $token - * @return DataResponse - */ - public function getByToken($token) { - try { - return new DataResponse($this->commentService->get(0, $token), Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (DoesNotExistException $e) { - return new DataResponse('Poll with token ' . $token . ' not found', Http::STATUS_NOT_FOUND); + return new DataResponse($e->getMessage(), $e->getStatus()); } } @@ -108,19 +88,17 @@ class CommentApiController extends ApiController { * @NoAdminRequired * @CORS * @NoCSRFRequired - * @PublicPage * @param int $pollId * @param string $message - * @param string $token * @return DataResponse */ - public function add($message, $pollId, $token) { + public function add($pollId, $message) { try { - return new DataResponse($this->commentService->add($message, $pollId, $token), Http::STATUS_CREATED); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); + return new DataResponse($this->commentService->add($message, $pollId), Http::STATUS_CREATED); } catch (DoesNotExistException $e) { return new DataResponse('Poll with id ' . $pollId . ' not found', Http::STATUS_NOT_FOUND); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } @@ -129,19 +107,17 @@ class CommentApiController extends ApiController { * @NoAdminRequired * @CORS * @NoCSRFRequired - * @PublicPage * @param int $commentId - * @param string $token * @return DataResponse */ - public function delete($commentId, $token) { + public function delete($commentId) { try { - $this->commentService->delete($commentId, $token); + $this->commentService->delete($commentId); return new DataResponse($commentId, Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('Comment does not exist', Http::STATUS_NOT_FOUND); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } diff --git a/lib/Controller/CommentController.php b/lib/Controller/CommentController.php index 70403abd..e940bfb7 100644 --- a/lib/Controller/CommentController.php +++ b/lib/Controller/CommentController.php @@ -88,9 +88,9 @@ class CommentController extends Controller { * @param string $token * @return DataResponse */ - public function add($message, $pollId, $token) { + public function add($pollId, $message, $token) { try { - return new DataResponse($this->commentService->add($message, $pollId, $token), Http::STATUS_OK); + return new DataResponse($this->commentService->add($pollId, $message, $token), Http::STATUS_OK); } catch (Exception $e) { return new DataResponse($e, Http::STATUS_UNAUTHORIZED); } diff --git a/lib/Controller/OptionApiController.php b/lib/Controller/OptionApiController.php index ded3933e..f23fd350 100644 --- a/lib/Controller/OptionApiController.php +++ b/lib/Controller/OptionApiController.php @@ -66,44 +66,27 @@ class OptionApiController extends ApiController { * @CORS * @NoCSRFRequired * @param integer $pollId - * @return array Array of Option objects + * @return DataResponse */ public function list($pollId) { try { return new DataResponse($this->optionService->list($pollId), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('Poll with id ' . $pollId . ' not found', Http::STATUS_NOT_FOUND); - } - } - - - /** - * getByToken - * Read all options of a poll based on a share token and return list as array - * @NoAdminRequired - * @PublicPage - * @NoCSRFRequired - * @param string $token - * @return DataResponse - */ - public function getByToken($token) { - try { - return new DataResponse($this->optionService->get(0, $token), Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (DoesNotExistException $e) { - return new DataResponse('Poll with token ' . $token . ' not found', Http::STATUS_NOT_FOUND); + return new DataResponse($e->getMessage(), $e->getStatus()); } } + /** * Add a new Option to poll * @NoAdminRequired * @CORS * @NoCSRFRequired - * @param Option $option + * @param integer $pollId + * @param string $pollOptionText + * @param integer $timestamp * @return DataResponse */ public function add($pollId, $pollOptionText = '', $timestamp = 0) { @@ -115,46 +98,47 @@ class OptionApiController extends ApiController { try { return new DataResponse($this->optionService->add($option), Http::STATUS_CREATED); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('Poll with id ' . $pollId . ' not found', Http::STATUS_NOT_FOUND); } catch (UniqueConstraintViolationException $e) { return new DataResponse('Option exists', Http::STATUS_CONFLICT); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } + /** - * Remove a single option + * Update poll option * @NoAdminRequired * @CORS * @NoCSRFRequired * @param Option $option * @return DataResponse */ - public function delete($optionId) { + public function update($option) { try { - return new DataResponse($this->optionService->delete($optionId), Http::STATUS_OK); + return new DataResponse($this->optionService->update($option), Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (DoesNotExistException $e) { - return new DataResponse('Option does not exist', Http::STATUS_NOT_FOUND); + return new DataResponse($e->getMessage(), $e->getStatus()); } } /** - * Update poll option + * Remove a single option * @NoAdminRequired * @CORS * @NoCSRFRequired - * @param Option $option + * @param integer $optionId * @return DataResponse */ - public function update($option) { + public function delete($optionId) { try { - return new DataResponse($this->optionService->update($option), Http::STATUS_OK); + return new DataResponse($this->optionService->delete($optionId), Http::STATUS_OK); + } catch (DoesNotExistException $e) { + return new DataResponse('Option does not exist', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); + return new DataResponse($e->getMessage(), $e->getStatus()); } } } diff --git a/lib/Controller/OptionController.php b/lib/Controller/OptionController.php index 7afa4a08..2b488c17 100644 --- a/lib/Controller/OptionController.php +++ b/lib/Controller/OptionController.php @@ -59,7 +59,7 @@ class OptionController extends Controller { * @NoAdminRequired * @NoCSRFRequired * @param integer $pollId - * @return array Array of Option objects + * @return DataResponse */ public function list($pollId) { return new DataResponse($this->optionService->list($pollId), Http::STATUS_OK); @@ -116,6 +116,7 @@ class OptionController extends Controller { * Set order by order of the given array * @NoAdminRequired * @NoCSRFRequired + * @param integer $pollId * @param Array $options * @return DataResponse */ diff --git a/lib/Controller/PollApiController.php b/lib/Controller/PollApiController.php index 777df2ba..98d8ef8f 100644 --- a/lib/Controller/PollApiController.php +++ b/lib/Controller/PollApiController.php @@ -102,84 +102,84 @@ } /** - * delete + * write * @NoAdminRequired * @NoCSRFRequired * @param Array $poll * @return DataResponse */ - public function delete($pollId) { + public function add($type, $title) { try { - return new DataResponse($this->pollService->delete($pollId), Http::STATUS_OK); - } catch (DoesNotExistException $e) { - return new DataResponse('Poll not found', Http::STATUS_NOT_FOUND); + return new DataResponse($this->pollService->add($type, $title), Http::STATUS_CREATED); } catch (NotAuthorizedException $e) { return new DataResponse($e->getMessage(), $e->getStatus()); + } catch (InvalidPollTypeException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); + } catch (EmptyTitleException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } /** - * deletePermanently + * write * @NoAdminRequired * @NoCSRFRequired * @param Array $poll * @return DataResponse */ - public function deletePermanently($pollId) { + public function update($pollId, $poll) { try { - return new DataResponse($this->pollService->deletePermanently($pollId), Http::STATUS_OK); + return new DataResponse($this->pollService->update($pollId, $poll), Http::STATUS_OK); } catch (DoesNotExistException $e) { return new DataResponse('Poll not found', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { return new DataResponse($e->getMessage(), $e->getStatus()); + } catch (InvalidAccessException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); + } catch (InvalidShowResultsException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); + } catch (EmptyTitleException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } - } /** - * write + * delete * @NoAdminRequired * @NoCSRFRequired * @param Array $poll * @return DataResponse */ - public function add($type, $title) { + public function delete($pollId) { try { - return new DataResponse($this->pollService->add($type, $title), Http::STATUS_OK); + return new DataResponse($this->pollService->delete($pollId), Http::STATUS_OK); + } catch (DoesNotExistException $e) { + return new DataResponse('Poll not found', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { return new DataResponse($e->getMessage(), $e->getStatus()); - } catch (InvalidPollTypeException $e) { - return new DataResponse($e->getMessage(), $e->getStatus()); - } catch (EmptyTitleException $e) { - return new DataResponse($e->getMessage(), $e->getStatus()); } } /** - * write + * deletePermanently * @NoAdminRequired * @NoCSRFRequired * @param Array $poll * @return DataResponse */ - public function update($pollId, $poll) { + public function deletePermanently($pollId) { try { - return new DataResponse($this->pollService->update($pollId, $poll), Http::STATUS_OK); + return new DataResponse($this->pollService->deletePermanently($pollId), Http::STATUS_OK); } catch (DoesNotExistException $e) { return new DataResponse('Poll not found', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { return new DataResponse($e->getMessage(), $e->getStatus()); - } catch (InvalidAccessException $e) { - return new DataResponse($e->getMessage(), $e->getStatus()); - } catch (InvalidShowResultsException $e) { - return new DataResponse($e->getMessage(), $e->getStatus()); - } catch (EmptyTitleException $e) { - return new DataResponse($e->getMessage(), $e->getStatus()); } + } /** @@ -191,7 +191,7 @@ */ public function clone($pollId) { try { - return new DataResponse($this->pollService->clone($pollId), Http::STATUS_OK); + return new DataResponse($this->pollService->clone($pollId), Http::STATUS_CREATED); } catch (DoesNotExistException $e) { return new DataResponse('Poll not found', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { @@ -208,9 +208,7 @@ */ public function enum() { - return [ - 'poll' => $this->pollService->getValidEnum() - ]; + return new DataResponse($this->pollService->getValidEnum(), Http::STATUS_OK); } diff --git a/lib/Controller/ShareApiController.php b/lib/Controller/ShareApiController.php index bc04e376..968ff115 100644 --- a/lib/Controller/ShareApiController.php +++ b/lib/Controller/ShareApiController.php @@ -62,27 +62,7 @@ class ShareApiController extends ApiController { } /** - * getByToken - * Get pollId by token - * @NoAdminRequired - * @NoCSRFRequired - * @CORS - * @PublicPage - * @param string $token - * @return DataResponse - */ - public function get($token) { - try { - return new DataResponse($this->shareService->get($token), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (DoesNotExistException $e) { - return new DataResponse('Token ' . $token . ' not found', Http::STATUS_NOT_FOUND); - } - } - - /** - * get + * list * Read all shares of a poll based on the poll id and return list as array * @NoAdminRequired * @CORS @@ -93,65 +73,60 @@ class ShareApiController extends ApiController { public function list($pollId) { try { return new DataResponse($this->shareService->list($pollId), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('No shares for poll with id ' . $pollId . ' not found', Http::STATUS_NOT_FOUND); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } /** - * Write a new share to the db and returns the new share as array - * @NoAdminRequired - * @CORS - * @NoCSRFRequired - * @param int $pollId - * @param string $message - * @return DataResponse - */ - public function add($pollId, $type, $userId = '', $userEmail = '') { + * get share by token + * Get pollId by token + * @NoAdminRequired + * @NoCSRFRequired + * @CORS + * @param string $token + * @return DataResponse + */ + public function get($token) { try { - return new DataResponse($this->shareService->add($pollId, $type, $userId, $userEmail), Http::STATUS_CREATED); + return new DataResponse($this->shareService->get($token), Http::STATUS_OK); + } catch (DoesNotExistException $e) { + return new DataResponse('Token ' . $token . ' not found', Http::STATUS_NOT_FOUND); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (\Exception $e) { - return new DataResponse($e, Http::STATUS_CONFLICT); + return new DataResponse($e->getMessage(), $e->getStatus()); } - } /** - * createPersonalShare * Write a new share to the db and returns the new share as array * @NoAdminRequired * @CORS - * @PublicPage * @NoCSRFRequired * @param int $pollId - * @param string $message + * @param string $type + * @param string $userId + * @param string $userEmail * @return DataResponse */ - public function createPersonalShare($token, $userName) { - + public function add($pollId, $type, $userId = '', $userEmail = '') { try { - return new DataResponse($this->shareService->createPersonalShare($token, $userName), Http::STATUS_CREATED); + return new DataResponse($this->shareService->add($pollId, $type, $userId, $userEmail), Http::STATUS_CREATED); + } catch (\Exception $e) { + return new DataResponse($e, Http::STATUS_CONFLICT); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (InvalidUsername $e) { - return new DataResponse($userName . ' is not valid', Http::STATUS_CONFLICT); - } catch (DoesNotExistException $e) { - // return forbidden in all not catched error cases - return new DataResponse($e, Http::STATUS_FORBIDDEN); + return new DataResponse($e->getMessage(), $e->getStatus()); } + } /** - * remove - * remove share + * delete share * @NoAdminRequired * @CORS * @NoCSRFRequired - * @param Share $share + * @param string $token * @return DataResponse */ diff --git a/lib/Controller/ShareController.php b/lib/Controller/ShareController.php index c2e769ad..da80acb5 100644 --- a/lib/Controller/ShareController.php +++ b/lib/Controller/ShareController.php @@ -69,7 +69,7 @@ class ShareController extends Controller { /** * getByToken - * Get pollId by token + * Get poll * @NoAdminRequired * @NoCSRFRequired * @PublicPage @@ -109,7 +109,7 @@ class ShareController extends Controller { * @NoAdminRequired * @NoCSRFRequired * @param int $pollId - * @param string $message + * @param Array $share * @return DataResponse */ public function write($pollId, $share) { @@ -135,8 +135,8 @@ class ShareController extends Controller { * @NoAdminRequired * @PublicPage * @NoCSRFRequired - * @param int $pollId - * @param string $message + * @param string $token + * @param string $userName * @return DataResponse */ public function createPersonalShare($token, $userName) { diff --git a/lib/Controller/SubscriptionApiController.php b/lib/Controller/SubscriptionApiController.php index b89f009c..e8c1acfa 100644 --- a/lib/Controller/SubscriptionApiController.php +++ b/lib/Controller/SubscriptionApiController.php @@ -78,10 +78,10 @@ class SubscriptionApiController extends ApiController { public function get($pollId) { try { return new DataResponse($this->subscriptionService->get($pollId), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('Not subscribed', Http::STATUS_NOT_FOUND); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } @@ -96,7 +96,7 @@ class SubscriptionApiController extends ApiController { return $this->subscriptionService->set($pollId, true); return new DataResponse('Subscribed', Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); + return new DataResponse($e->getMessage(), $e->getStatus()); } } /** @@ -110,7 +110,7 @@ class SubscriptionApiController extends ApiController { $this->subscriptionService->set($pollId, false); return new DataResponse('Unsubscribed', Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); + return new DataResponse($e->getMessage(), $e->getStatus()); } } } diff --git a/lib/Controller/VoteApiController.php b/lib/Controller/VoteApiController.php index 71c42966..8f5b77ac 100644 --- a/lib/Controller/VoteApiController.php +++ b/lib/Controller/VoteApiController.php @@ -73,10 +73,10 @@ class VoteApiController extends ApiController { public function list($pollId) { try { return new DataResponse($this->voteService->list($pollId), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('No votes', Http::STATUS_NOT_FOUND); + } catch (NotAuthorizedException $e) { + return new DataResponse($e->getMessage(), $e->getStatus()); } } @@ -94,33 +94,11 @@ class VoteApiController extends ApiController { public function set($pollId, $pollOptionText, $setTo) { try { return new DataResponse($this->voteService->set($pollId, $pollOptionText, $setTo), Http::STATUS_OK); - } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); } catch (DoesNotExistException $e) { return new DataResponse('Option not found', Http::STATUS_NOT_FOUND); - } - - } - - - /** - * delete - * @NoAdminRequired - * @NoCSRFRequired - * @CORS - * @param integer $voteId - * @param string $userId - * @param integer $pollId - * @return DataResponse - */ - public function delete($pollId, $userId) { - try { - return new DataResponse($this->voteService->delete($userId, $pollId), Http::STATUS_OK); } catch (NotAuthorizedException $e) { - return new DataResponse('Unauthorized', Http::STATUS_FORBIDDEN); - } catch (DoesNotExistException $e) { - return new DataResponse('', Http::STATUS_NOT_FOUND); + return new DataResponse($e->getMessage(), $e->getStatus()); } - } + } } |