Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/polls.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordartcafe <github@dartcafe.de>2020-06-20 14:15:48 +0300
committerdartcafe <github@dartcafe.de>2020-06-20 14:15:48 +0300
commitfeb0fc3e16bde4d0fb0871e50a6c60eca83483d2 (patch)
tree12a291febcbb6b9be9086d6e946432c1769de713 /lib/Controller
parentd3b8c7c7028b6c112c230df6c010263dfb1a1130 (diff)
Updated API and code polish, tidy
Diffstat (limited to 'lib/Controller')
-rw-r--r--lib/Controller/CommentApiController.php46
-rw-r--r--lib/Controller/CommentController.php4
-rw-r--r--lib/Controller/OptionApiController.php56
-rw-r--r--lib/Controller/OptionController.php3
-rw-r--r--lib/Controller/PollApiController.php56
-rw-r--r--lib/Controller/ShareApiController.php79
-rw-r--r--lib/Controller/ShareController.php8
-rw-r--r--lib/Controller/SubscriptionApiController.php8
-rw-r--r--lib/Controller/VoteApiController.php30
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());
}
- }
+ }
}