diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index 2132da4ed..f1d2d34c1 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -113,7 +113,7 @@ class CardMapper extends QBMapper implements IPermissionMapper { return parent::update($cardUpdate); } - public function find($id): Card { + public function find($id, bool $enhance = true): Card { $qb = $this->db->getQueryBuilder(); $qb->select('*') ->from('deck_cards') @@ -122,9 +122,11 @@ class CardMapper extends QBMapper implements IPermissionMapper { ->addOrderBy('id'); /** @var Card $card */ $card = $this->findEntity($qb); - $labels = $this->labelMapper->findAssignedLabelsForCard($card->getId()); - $card->setLabels($labels); - $this->mapOwner($card); + if ($enhance) { + $labels = $this->labelMapper->findAssignedLabelsForCard($card->getId()); + $card->setLabels($labels); + $this->mapOwner($card); + } return $card; } diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index c43ea54ae..eec3474c3 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -119,7 +119,7 @@ class PermissionService { if ($permissions[$permission] === true) { if (!$allowDeletedCard && $mapper instanceof CardMapper) { - $card = $mapper->find((int)$id); + $card = $mapper->find((int)$id, false); if ($card->getDeletedAt() > 0) { throw new NoPermissionException('Card is deleted'); }