Properly inject ICommentsManager

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2018-10-05 10:44:44 +02:00
parent ddeefd5bf3
commit 63a34e7018
2 changed files with 10 additions and 4 deletions

View File

@@ -29,6 +29,7 @@ use OCA\Deck\Db\Acl;
use OCP\Activity\IEvent; use OCP\Activity\IEvent;
use OCP\Activity\IProvider; use OCP\Activity\IProvider;
use OCP\Comments\IComment; use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
use OCP\Comments\NotFoundException; use OCP\Comments\NotFoundException;
use OCP\IURLGenerator; use OCP\IURLGenerator;
use OCP\IUserManager; use OCP\IUserManager;
@@ -43,11 +44,14 @@ class DeckProvider implements IProvider {
private $activityManager; private $activityManager;
/** @var IUserManager */ /** @var IUserManager */
private $userManager; private $userManager;
/** @var ICommentsManager */
private $commentsManager;
public function __construct(IURLGenerator $urlGenerator, ActivityManager $activityManager, IUserManager $userManager, $userId) { public function __construct(IURLGenerator $urlGenerator, ActivityManager $activityManager, IUserManager $userManager, ICommentsManager $commentsManager, $userId) {
$this->userId = $userId; $this->userId = $userId;
$this->urlGenerator = $urlGenerator; $this->urlGenerator = $urlGenerator;
$this->activityManager = $activityManager; $this->activityManager = $activityManager;
$this->commentsManager = $commentsManager;
$this->userManager = $userManager; $this->userManager = $userManager;
} }
@@ -237,7 +241,7 @@ class DeckProvider implements IProvider {
if (array_key_exists('comment', $subjectParams)) { if (array_key_exists('comment', $subjectParams)) {
/** @var IComment $comment */ /** @var IComment $comment */
try { try {
$comment = \OC::$server->getCommentsManager()->get((int)$subjectParams['comment']); $comment = $this->commentsManager->get((int)$subjectParams['comment']);
$event->setParsedMessage($comment->getMessage()); $event->setParsedMessage($comment->getMessage());
} catch (NotFoundException $e) { } catch (NotFoundException $e) {
} }

View File

@@ -37,6 +37,7 @@ use OCA\Deck\Db\LabelMapper;
use OCA\Deck\NotFoundException; use OCA\Deck\NotFoundException;
use OCA\Deck\StatusException; use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException; use OCA\Deck\BadRequestException;
use OCP\Comments\ICommentsManager;
class CardService { class CardService {
@@ -51,6 +52,7 @@ class CardService {
private $attachmentService; private $attachmentService;
private $currentUser; private $currentUser;
private $activityManager; private $activityManager;
private $commentsManager;
public function __construct( public function __construct(
CardMapper $cardMapper, CardMapper $cardMapper,
@@ -63,6 +65,7 @@ class CardService {
AssignedUsersMapper $assignedUsersMapper, AssignedUsersMapper $assignedUsersMapper,
AttachmentService $attachmentService, AttachmentService $attachmentService,
ActivityManager $activityManager, ActivityManager $activityManager,
ICommentsManager $commentsManager,
$userId $userId
) { ) {
$this->cardMapper = $cardMapper; $this->cardMapper = $cardMapper;
@@ -75,6 +78,7 @@ class CardService {
$this->assignedUsersMapper = $assignedUsersMapper; $this->assignedUsersMapper = $assignedUsersMapper;
$this->attachmentService = $attachmentService; $this->attachmentService = $attachmentService;
$this->activityManager = $activityManager; $this->activityManager = $activityManager;
$this->commentsManager = $commentsManager;
$this->currentUser = $userId; $this->currentUser = $userId;
} }
@@ -83,8 +87,6 @@ class CardService {
$card->setAssignedUsers($this->assignedUsersMapper->find($cardId)); $card->setAssignedUsers($this->assignedUsersMapper->find($cardId));
$card->setLabels($this->labelMapper->findAssignedLabelsForCard($cardId)); $card->setLabels($this->labelMapper->findAssignedLabelsForCard($cardId));
$card->setAttachmentCount($this->attachmentService->count($cardId)); $card->setAttachmentCount($this->attachmentService->count($cardId));
/** @var ICommentsManager commentsManager */
$this->commentsManager = \OC::$server->getCommentsManager();
$lastRead = $this->commentsManager->getReadMark('deckCard', (string)$card->getId(), \OC::$server->getUserSession()->getUser()); $lastRead = $this->commentsManager->getReadMark('deckCard', (string)$card->getId(), \OC::$server->getUserSession()->getUser());
$count = $this->commentsManager->getNumberOfCommentsForObject('deckCard', (string)$card->getId(), $lastRead); $count = $this->commentsManager->getNumberOfCommentsForObject('deckCard', (string)$card->getId(), $lastRead);
$card->setCommentsUnread($count); $card->setCommentsUnread($count);