perf: Skip doing a query just to check if a board is deleted
Signed-off-by: Julius Knorr <jus@bitgrid.net>
This commit is contained in:
committed by
backportbot[bot]
parent
e3de1ed923
commit
6f5df944ad
@@ -269,7 +269,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
|||||||
|
|
||||||
private function applyBoardPermission($share, $permissions, $userId) {
|
private function applyBoardPermission($share, $permissions, $userId) {
|
||||||
try {
|
try {
|
||||||
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_EDIT, $userId);
|
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_EDIT, $userId, true);
|
||||||
} catch (NoPermissionException $e) {
|
} catch (NoPermissionException $e) {
|
||||||
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE;
|
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE;
|
||||||
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE;
|
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE;
|
||||||
@@ -277,7 +277,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_SHARE, $userId);
|
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_SHARE, $userId, true);
|
||||||
} catch (NoPermissionException $e) {
|
} catch (NoPermissionException $e) {
|
||||||
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_SHARE;
|
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_SHARE;
|
||||||
}
|
}
|
||||||
@@ -746,6 +746,8 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
|
|||||||
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('folder'))
|
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('folder'))
|
||||||
));
|
));
|
||||||
|
|
||||||
|
$qb->andWhere($qb->expr()->eq('dc.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
|
||||||
|
|
||||||
$cursor = $qb->execute();
|
$cursor = $qb->execute();
|
||||||
while ($data = $cursor->fetch()) {
|
while ($data = $cursor->fetch()) {
|
||||||
if (!$this->isAccessibleResult($data)) {
|
if (!$this->isAccessibleResult($data)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user