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:
Diffstat (limited to 'lib/Service/ShareService.php')
-rw-r--r--lib/Service/ShareService.php28
1 files changed, 12 insertions, 16 deletions
diff --git a/lib/Service/ShareService.php b/lib/Service/ShareService.php
index ae14935a..cba983d6 100644
--- a/lib/Service/ShareService.php
+++ b/lib/Service/ShareService.php
@@ -24,20 +24,19 @@
namespace OCA\Polls\Service;
use OCA\Polls\Exceptions\NotAuthorizedException;
-use OCA\Polls\Exceptions\InvalidUsername;
use OCA\Polls\Exceptions\InvalidShareType;
use OCP\Security\ISecureRandom;
-use OCA\Polls\Controller\SystemController;
+use OCA\Polls\Service\SystemService;
use OCA\Polls\Db\ShareMapper;
use OCA\Polls\Db\Share;
use OCA\Polls\Model\Acl;
class ShareService {
- /** @var SystemController */
- private $systemController;
+ /** @var SystemService */
+ private $systemService;
/** @var ShareMapper */
private $shareMapper;
@@ -53,20 +52,20 @@ class ShareService {
/**
* ShareController constructor.
- * @param SystemController $systemController
+ * @param SystemService $systemService
* @param ShareMapper $shareMapper
* @param Share $share
* @param MailService $mailService
* @param Acl $acl
*/
public function __construct(
- SystemController $systemController,
+ SystemService $systemService,
ShareMapper $shareMapper,
Share $share,
MailService $mailService,
Acl $acl
) {
- $this->systemController = $systemController;
+ $this->systemService = $systemService;
$this->shareMapper = $shareMapper;
$this->share = $share;
$this->mailService = $mailService;
@@ -142,12 +141,12 @@ class ShareService {
* @param string $token
* @param string $emailAddress
* @return Share
- * @throws NotAuthorizedException
+ * @throws InvalidShareType
*/
public function setEmailAddress($token, $emailAddress) {
$this->share = $this->shareMapper->findByToken($token);
if ($this->share->getType() === 'external') {
- // TODO: Simple validate email address
+ $this->systemService->validateEmailAddress($emailAddress);
$this->share->setUserEmail($emailAddress);
// TODO: Send confirmation
return $this->shareMapper->update($this->share);
@@ -164,17 +163,14 @@ class ShareService {
* @param string $userName
* @return Share
* @throws NotAuthorizedException
- * @throws InvalidUsername
*/
- public function personal($token, $userName, $emailAddress) {
+ public function personal($token, $userName, $emailAddress = '') {
$this->share = $this->shareMapper->findByToken($token);
- // Return of validatePublicUsername is a DataResponse
- $checkUsername = $this->systemController->validatePublicUsername($this->share->getPollId(), $userName, $token);
+ $this->systemService->validatePublicUsername($this->share->getPollId(), $userName, $token);
- // if status is not 200, return DataResponse from validatePublicUsername
- if ($checkUsername->getStatus() !== 200) {
- throw new InvalidUsername;
+ if ($emailAddress) {
+ $this->systemService->validateEmailAddress($emailAddress);
}
if ($this->share->getType() === 'public') {