Add proper error handling when user/group cannot be found
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@ namespace OCA\Deck\Db;
|
||||
|
||||
class RelationalObject implements \JsonSerializable {
|
||||
|
||||
private $primaryKey;
|
||||
protected $primaryKey;
|
||||
protected $object;
|
||||
|
||||
/**
|
||||
* RelationalObject constructor.
|
||||
|
||||
Reference in New Issue
Block a user