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
3a454b75e0
commit
5ca18b1d32
@@ -270,7 +270,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;
|
||||||
@@ -278,7 +278,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;
|
||||||
}
|
}
|
||||||
@@ -747,6 +747,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