diff options
author | Julius Härtl <jus@bitgrid.net> | 2022-08-17 14:32:08 +0300 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2022-08-28 21:51:22 +0300 |
commit | e2c53670507f463bd9c3635fe8cfdc1f0281b7d5 (patch) | |
tree | 02c0c5c3e075797a5ba2d4e2d174c58db96bc69d /lib | |
parent | 15c48b919d53fee39d82825c7ce8c44f5b331350 (diff) |
Avoid duplicate code
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Service/OverviewService.php | 49 |
1 files changed, 9 insertions, 40 deletions
diff --git a/lib/Service/OverviewService.php b/lib/Service/OverviewService.php index 1a3ab3d4..0d883141 100644 --- a/lib/Service/OverviewService.php +++ b/lib/Service/OverviewService.php @@ -32,29 +32,18 @@ use OCA\Deck\Db\Card; use OCA\Deck\Db\CardMapper; use OCA\Deck\Model\CardDetails; use OCP\Comments\ICommentsManager; -use OCP\IGroupManager; use OCA\Deck\Db\BoardMapper; use OCA\Deck\Db\LabelMapper; use OCP\IUserManager; class OverviewService { - - /** @var BoardMapper */ - private $boardMapper; - /** @var LabelMapper */ - private $labelMapper; - /** @var CardMapper */ - private $cardMapper; - /** @var AssignmentMapper */ - private $assignedUsersMapper; - /** @var IUserManager */ - private $userManager; - /** @var IGroupManager */ - private $groupManager; - /** @var ICommentsManager */ - private $commentsManager; - /** @var AttachmentService */ - private $attachmentService; + private BoardMapper $boardMapper; + private LabelMapper $labelMapper; + private CardMapper $cardMapper; + private AssignmentMapper $assignedUsersMapper; + private IUserManager $userManager; + private ICommentsManager $commentsManager; + private AttachmentService $attachmentService; public function __construct( BoardMapper $boardMapper, @@ -62,7 +51,6 @@ class OverviewService { CardMapper $cardMapper, AssignmentMapper $assignedUsersMapper, IUserManager $userManager, - IGroupManager $groupManager, ICommentsManager $commentsManager, AttachmentService $attachmentService ) { @@ -71,7 +59,6 @@ class OverviewService { $this->cardMapper = $cardMapper; $this->assignedUsersMapper = $assignedUsersMapper; $this->userManager = $userManager; - $this->groupManager = $groupManager; $this->commentsManager = $commentsManager; $this->attachmentService = $attachmentService; } @@ -93,7 +80,7 @@ class OverviewService { } public function findAllWithDue(string $userId): array { - $userBoards = $this->findAllBoardsFromUser($userId); + $userBoards = $this->boardMapper->findAllForUser($userId); $allDueCards = []; foreach ($userBoards as $userBoard) { $allDueCards[] = array_map(function ($card) use ($userBoard, $userId) { @@ -105,7 +92,7 @@ class OverviewService { } public function findUpcomingCards(string $userId): array { - $userBoards = $this->findAllBoardsFromUser($userId); + $userBoards = $this->boardMapper->findAllForUser($userId); $foundCards = []; foreach ($userBoards as $userBoard) { if (count($userBoard->getAcl()) === 0) { @@ -126,22 +113,4 @@ class OverviewService { } return array_merge(...$foundCards); } - - // FIXME: This is duplicate code with the board service - private function findAllBoardsFromUser(string $userId): array { - $userInfo = $this->getBoardPrerequisites($userId); - $userBoards = $this->boardMapper->findAllByUser($userInfo['user'], null, null); - $groupBoards = $this->boardMapper->findAllByGroups($userInfo['user'], $userInfo['groups'], null, null); - $circleBoards = $this->boardMapper->findAllByCircles($userInfo['user'], null, null); - return array_unique(array_merge($userBoards, $groupBoards, $circleBoards)); - } - - private function getBoardPrerequisites($userId): array { - $user = $this->userManager->get($userId); - $groups = $user !== null ? $this->groupManager->getUserGroupIds($user) : []; - return [ - 'user' => $userId, - 'groups' => $groups - ]; - } } |