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);
|
return new User($user);
|
||||||
} else {
|
} else {
|
||||||
\OC::$server->getLogger()->debug('User ' . $acl->getId() . ' not found when mapping acl ' . $acl->getParticipant());
|
\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) {
|
if($acl->getType() === Acl::PERMISSION_TYPE_GROUP) {
|
||||||
@@ -185,7 +185,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
return new Group($group);
|
return new Group($group);
|
||||||
} else {
|
} else {
|
||||||
\OC::$server->getLogger()->debug('Group ' . $acl->getId() . ' not found when mapping acl ' . $acl->getParticipant());
|
\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');
|
throw new \Exception('Unknown permission type for mapping Acl');
|
||||||
@@ -198,7 +198,11 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
public function mapOwner(Board &$board) {
|
public function mapOwner(Board &$board) {
|
||||||
$userManager = $this->userManager;
|
$userManager = $this->userManager;
|
||||||
$board->resolveRelation('owner', function($owner) use (&$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 {
|
class CardMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|
||||||
private $labelMapper;
|
private $labelMapper;
|
||||||
|
private $userManager;
|
||||||
|
|
||||||
public function __construct(IDBConnection $db, LabelMapper $labelMapper, IUserManager $userManager) {
|
public function __construct(IDBConnection $db, LabelMapper $labelMapper, IUserManager $userManager) {
|
||||||
parent::__construct($db, 'deck_cards', '\OCA\Deck\Db\Card');
|
parent::__construct($db, 'deck_cards', '\OCA\Deck\Db\Card');
|
||||||
@@ -131,7 +132,11 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
public function mapOwner(Card &$card) {
|
public function mapOwner(Card &$card) {
|
||||||
$userManager = $this->userManager;
|
$userManager = $this->userManager;
|
||||||
$card->resolveRelation('owner', function($owner) use (&$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 {
|
class RelationalObject implements \JsonSerializable {
|
||||||
|
|
||||||
private $primaryKey;
|
protected $primaryKey;
|
||||||
|
protected $object;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RelationalObject constructor.
|
* RelationalObject constructor.
|
||||||
|
|||||||
Reference in New Issue
Block a user