diff --git a/lib/Db/AclMapper.php b/lib/Db/AclMapper.php index 732fb54f8..96aad94f6 100644 --- a/lib/Db/AclMapper.php +++ b/lib/Db/AclMapper.php @@ -23,6 +23,8 @@ namespace OCA\Deck\Db; +use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\IDBConnection; class AclMapper extends DeckMapper implements IPermissionMapper { @@ -43,8 +45,12 @@ class AclMapper extends DeckMapper implements IPermissionMapper { } public function findBoardId($aclId): ?int { - $entity = $this->find($aclId); - return $entity->getBoardId(); + try { + $entity = $this->find($aclId); + return $entity->getBoardId(); + } catch (DoesNotExistException | MultipleObjectsReturnedException $e) { + } + return null; } public function findByParticipant($type, $participant): array { diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index 8866137a0..461a93611 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -322,8 +322,7 @@ class CardMapper extends QBMapper implements IPermissionMapper { $stmt = $this->db->prepare($sql); $stmt->bindParam(1, $cardId, \PDO::PARAM_INT); $stmt->execute(); - $row = $stmt->fetch(); - return $row['id']; + return $stmt->fetchColumn() ?? null; } public function mapOwner(Card &$card) { diff --git a/lib/Db/LabelMapper.php b/lib/Db/LabelMapper.php index 26f89bf3a..2f3c2ad4c 100644 --- a/lib/Db/LabelMapper.php +++ b/lib/Db/LabelMapper.php @@ -23,7 +23,9 @@ namespace OCA\Deck\Db; +use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\Entity; +use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\IDBConnection; class LabelMapper extends DeckMapper implements IPermissionMapper { @@ -100,7 +102,12 @@ class LabelMapper extends DeckMapper implements IPermissionMapper { } public function findBoardId($labelId): ?int { - $entity = $this->find($labelId); - return $entity->getBoardId(); + try { + $entity = $this->find($labelId); + return $entity->getBoardId(); + } catch (DoesNotExistException $e) { + } catch (MultipleObjectsReturnedException $e) { + } + return null; } } diff --git a/lib/Db/StackMapper.php b/lib/Db/StackMapper.php index 88cffeeba..8cf28918a 100644 --- a/lib/Db/StackMapper.php +++ b/lib/Db/StackMapper.php @@ -23,7 +23,9 @@ namespace OCA\Deck\Db; +use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\Entity; +use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\IDBConnection; class StackMapper extends DeckMapper implements IPermissionMapper { @@ -75,7 +77,12 @@ class StackMapper extends DeckMapper implements IPermissionMapper { } public function findBoardId($stackId): ?int { - $entity = $this->find($stackId); - return $entity->getBoardId(); + try { + $entity = $this->find($stackId); + return $entity->getBoardId(); + } catch (DoesNotExistException $e) { + } catch (MultipleObjectsReturnedException $e) { + } + return null; } }