diff --git a/lib/Db/BoardMapper.php b/lib/Db/BoardMapper.php index 5de370094..e1b2d0598 100644 --- a/lib/Db/BoardMapper.php +++ b/lib/Db/BoardMapper.php @@ -176,7 +176,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper { return new User($user); } else { \OC::$server->getLogger()->debug('User ' . $acl->getId() . ' not found when mapping acl ' . $acl->getParticipant()); - return $participant; + return null; } } if($acl->getType() === Acl::PERMISSION_TYPE_GROUP) { @@ -185,7 +185,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper { return new Group($group); } else { \OC::$server->getLogger()->debug('Group ' . $acl->getId() . ' not found when mapping acl ' . $acl->getParticipant()); - return $participant; + return null; } } throw new \Exception('Unknown permission type for mapping Acl'); @@ -198,7 +198,11 @@ class BoardMapper extends DeckMapper implements IPermissionMapper { public function mapOwner(Board &$board) { $userManager = $this->userManager; $board->resolveRelation('owner', function($owner) use (&$userManager) { - return new User($userManager->get($owner)); + $user = $userManager->get($owner); + if($user !== null) { + return new User($user); + } + return null; }); } diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index 1542a95ea..e5f4fa284 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -31,6 +31,7 @@ use OCP\IUserManager; class CardMapper extends DeckMapper implements IPermissionMapper { private $labelMapper; + private $userManager; public function __construct(IDBConnection $db, LabelMapper $labelMapper, IUserManager $userManager) { parent::__construct($db, 'deck_cards', '\OCA\Deck\Db\Card'); @@ -131,7 +132,11 @@ class CardMapper extends DeckMapper implements IPermissionMapper { public function mapOwner(Card &$card) { $userManager = $this->userManager; $card->resolveRelation('owner', function($owner) use (&$userManager) { - return new User($userManager->get($owner)); + $user = $userManager->get($owner); + if($user !== null) { + return new User($user); + } + return null; }); } diff --git a/lib/Db/RelationalObject.php b/lib/Db/RelationalObject.php index e5740e754..d5a6fc18e 100644 --- a/lib/Db/RelationalObject.php +++ b/lib/Db/RelationalObject.php @@ -25,7 +25,8 @@ namespace OCA\Deck\Db; class RelationalObject implements \JsonSerializable { - private $primaryKey; + protected $primaryKey; + protected $object; /** * RelationalObject constructor.