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/VoteService.php')
-rw-r--r--lib/Service/VoteService.php53
1 files changed, 31 insertions, 22 deletions
diff --git a/lib/Service/VoteService.php b/lib/Service/VoteService.php
index f867c46f..415517c1 100644
--- a/lib/Service/VoteService.php
+++ b/lib/Service/VoteService.php
@@ -32,12 +32,22 @@ use OCA\Polls\Db\OptionMapper;
use OCA\Polls\Db\VoteMapper;
use OCA\Polls\Db\PollMapper;
use OCA\Polls\Db\Vote;
+use OCA\Polls\Db\Watch;
use OCA\Polls\Model\Acl;
class VoteService {
- /** @var VoteMapper */
- private $voteMapper;
+ /** @var Acl */
+ private $acl;
+
+ /** @var AnonymizeService */
+ private $anonymizer;
+
+ /** @var LogService */
+ private $logService;
+
+ /** @var OptionMapper */
+ private $optionMapper;
/** @var PollMapper */
private $pollMapper;
@@ -45,34 +55,31 @@ class VoteService {
/** @var Vote */
private $vote;
- /** @var OptionMapper */
- private $optionMapper;
-
- /** @var AnonymizeService */
- private $anonymizer;
+ /** @var VoteMapper */
+ private $voteMapper;
- /** @var LogService */
- private $logService;
+ /** @var WatchService */
+ private $watchService;
- /** @var Acl */
- private $acl;
public function __construct(
- VoteMapper $voteMapper,
- PollMapper $pollMapper,
- Vote $vote,
- OptionMapper $optionMapper,
+ Acl $acl,
AnonymizeService $anonymizer,
LogService $logService,
- Acl $acl
+ OptionMapper $optionMapper,
+ PollMapper $pollMapper,
+ Vote $vote,
+ VoteMapper $voteMapper,
+ WatchService $watchService
) {
- $this->voteMapper = $voteMapper;
- $this->pollMapper = $pollMapper;
- $this->vote = $vote;
- $this->optionMapper = $optionMapper;
+ $this->acl = $acl;
$this->anonymizer = $anonymizer;
$this->logService = $logService;
- $this->acl = $acl;
+ $this->optionMapper = $optionMapper;
+ $this->pollMapper = $pollMapper;
+ $this->vote = $vote;
+ $this->voteMapper = $voteMapper;
+ $this->watchService = $watchService;
}
/**
@@ -172,7 +179,8 @@ class VoteService {
$this->vote->setVoteAnswer($setTo);
$this->voteMapper->insert($this->vote);
}
- $this->logService->setLog($this->acl->getPollId(), Log::MSG_ID_SETVOTE, $this->vote->getUserId());
+ $this->logService->setLog($this->vote->getPollId(), Log::MSG_ID_SETVOTE, $this->vote->getUserId());
+ $this->watchService->writeUpdate($this->vote->getPollId(), Watch::OBJECT_VOTES);
return $this->vote;
}
@@ -182,6 +190,7 @@ class VoteService {
public function delete(int $pollId, string $userId): string {
$this->acl->setPollId($pollId)->request(Acl::PERMISSION_EDIT);
$this->voteMapper->deleteByPollAndUser($pollId, $userId);
+ $this->watchService->writeUpdate($pollId, Watch::OBJECT_VOTES);
return $userId;
}
}