Compare commits
6 Commits
dependabot
...
get-cards-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce5faf05ab | ||
|
|
0ed8b21b3c | ||
|
|
6f4f59a976 | ||
|
|
f80d7a5e79 | ||
|
|
e3843f9808 | ||
|
|
1ec7f1a971 |
8
composer.lock
generated
8
composer.lock
generated
@@ -380,12 +380,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nextcloud-deps/ocp.git",
|
||||
"reference": "76e366bf801150029d17a516fa496b5b89a772ac"
|
||||
"reference": "c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/76e366bf801150029d17a516fa496b5b89a772ac",
|
||||
"reference": "76e366bf801150029d17a516fa496b5b89a772ac",
|
||||
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160",
|
||||
"reference": "c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -421,7 +421,7 @@
|
||||
"issues": "https://github.com/nextcloud-deps/ocp/issues",
|
||||
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
|
||||
},
|
||||
"time": "2025-08-01T01:04:13+00:00"
|
||||
"time": "2025-08-10T01:01:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
|
||||
@@ -23,13 +23,16 @@ OC.L10N.register(
|
||||
"Modified" : "Зменены",
|
||||
"Save" : "Захаваць",
|
||||
"Created:" : "Створана:",
|
||||
"Reply" : "Адказаць",
|
||||
"Open link" : "Адкрыць спасылку",
|
||||
"seconds ago" : "с таму",
|
||||
"Keyboard shortcuts" : "Спалучэнні клавіш",
|
||||
"Keyboard shortcut" : "Спалучэнне клавіш",
|
||||
"Action" : "Дзеянне",
|
||||
"Search" : "Пошук",
|
||||
"Shared with you" : "Абагулена з вамі",
|
||||
"An error occurred" : "Узнікла памылка",
|
||||
"No notifications" : "Няма апавяшчэнняў",
|
||||
"Today" : "Сёння",
|
||||
"Close" : "Закрыць",
|
||||
"Share" : "Абагуліць"
|
||||
|
||||
@@ -21,13 +21,16 @@
|
||||
"Modified" : "Зменены",
|
||||
"Save" : "Захаваць",
|
||||
"Created:" : "Створана:",
|
||||
"Reply" : "Адказаць",
|
||||
"Open link" : "Адкрыць спасылку",
|
||||
"seconds ago" : "с таму",
|
||||
"Keyboard shortcuts" : "Спалучэнні клавіш",
|
||||
"Keyboard shortcut" : "Спалучэнне клавіш",
|
||||
"Action" : "Дзеянне",
|
||||
"Search" : "Пошук",
|
||||
"Shared with you" : "Абагулена з вамі",
|
||||
"An error occurred" : "Узнікла памылка",
|
||||
"No notifications" : "Няма апавяшчэнняў",
|
||||
"Today" : "Сёння",
|
||||
"Close" : "Закрыць",
|
||||
"Share" : "Абагуліць"
|
||||
|
||||
@@ -274,6 +274,7 @@ OC.L10N.register(
|
||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||
"Todo items" : "Todo項目",
|
||||
"Edit card title" : "カードタイトルを編集する",
|
||||
"Open link" : "リンクを開く",
|
||||
"Card deleted" : "カードが削除されました",
|
||||
"Edit title" : "タイトルを編集",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
|
||||
@@ -272,6 +272,7 @@
|
||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||
"Todo items" : "Todo項目",
|
||||
"Edit card title" : "カードタイトルを編集する",
|
||||
"Open link" : "リンクを開く",
|
||||
"Card deleted" : "カードが削除されました",
|
||||
"Edit title" : "タイトルを編集",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
|
||||
@@ -19,6 +19,7 @@ use OCA\Deck\Db\CardMapper;
|
||||
use OCA\Deck\Db\ChangeHelper;
|
||||
use OCA\Deck\Db\Label;
|
||||
use OCA\Deck\Db\LabelMapper;
|
||||
use OCA\Deck\Db\Stack;
|
||||
use OCA\Deck\Db\StackMapper;
|
||||
use OCA\Deck\Event\CardCreatedEvent;
|
||||
use OCA\Deck\Event\CardDeletedEvent;
|
||||
@@ -64,31 +65,47 @@ class CardService {
|
||||
) {
|
||||
}
|
||||
|
||||
public function enrichCards($cards) {
|
||||
/**
|
||||
* @param Card[] $cards
|
||||
* @return CardDetails[]
|
||||
*/
|
||||
public function enrichCards(array $cards, Stack $stack = null): array {
|
||||
if (!$cards) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$user = $this->userManager->get($this->userId);
|
||||
|
||||
$cardIds = array_map(function (Card $card) use ($user) {
|
||||
$cardIds = array_map(function (Card $card) use ($user, $stack) {
|
||||
// Everything done in here might be heavy as it is executed for every card
|
||||
$cardId = $card->getId();
|
||||
$this->cardMapper->mapOwner($card);
|
||||
|
||||
$card->setAttachmentCount($this->attachmentService->count($cardId));
|
||||
|
||||
// TODO We should find a better way just to get the comment count so we can save 1-3 queries per card here
|
||||
$countComments = $this->commentsManager->getNumberOfCommentsForObject('deckCard', (string)$card->getId());
|
||||
$lastRead = $countComments > 0 ? $this->commentsManager->getReadMark('deckCard', (string)$card->getId(), $user) : null;
|
||||
$countUnreadComments = $lastRead ? $this->commentsManager->getNumberOfCommentsForObject('deckCard', (string)$card->getId(), $lastRead) : 0;
|
||||
$card->setCommentsUnread($countUnreadComments);
|
||||
$card->setCommentsCount($countComments);
|
||||
|
||||
$stack = $this->stackMapper->find($card->getStackId());
|
||||
if ($stack === null) {
|
||||
$stack = $this->stackMapper->find($card->getStackId());
|
||||
}
|
||||
$board = $this->boardService->find($stack->getBoardId(), false);
|
||||
$card->setRelatedStack($stack);
|
||||
$card->setRelatedBoard($board);
|
||||
|
||||
return $card->getId();
|
||||
return $cardId;
|
||||
}, $cards);
|
||||
|
||||
$commentsCountPerCardId = $this->commentsManager->getNumberOfCommentsForObjects('deckCard', $cardIds);
|
||||
$unreadCommentsCountPerCardId = $this->commentsManager->getNumberOfUnreadCommentsForObjects('deckCard', $cardIds, $user);
|
||||
|
||||
foreach ($commentsCountPerCardId as $cardId => $commentCounts) {
|
||||
foreach ($cards as $card) {
|
||||
if ($card->getId() === $cardId) {
|
||||
$card->setCommentsUnread($unreadCommentsCountPerCardId[$cardId]);
|
||||
$card->setCommentsCount($commentCounts);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$assignedLabels = $this->labelMapper->findAssignedLabelsForCards($cardIds);
|
||||
$assignedUsers = $this->assignedUsersMapper->findIn($cardIds);
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class StackService {
|
||||
return;
|
||||
}
|
||||
|
||||
$stack->setCards($this->cardService->enrichCards($cards));
|
||||
$stack->setCards($this->cardService->enrichCards($cards, $stack));
|
||||
}
|
||||
|
||||
private function enrichStacksWithCards($stacks, $since = -1) {
|
||||
|
||||
Reference in New Issue
Block a user