Simplify fetching boards during sharing

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2022-08-17 14:06:52 +02:00
parent e2c5367050
commit e2dc1c2684
2 changed files with 46 additions and 9 deletions

View File

@@ -634,8 +634,8 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
$start = 0;
while (true) {
/** @var IShare[] $shareSlice */
$shareSlice = array_slice($shares, $start, 100);
$start += 100;
$shareSlice = array_slice($shares, $start, 1000);
$start += 1000;
if ($shareSlice === []) {
break;
@@ -714,15 +714,15 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
* @return IShare[]
*/
public function getSharedWith($userId, $shareType, $node, $limit, $offset): array {
$allBoards = $this->boardMapper->findAllForUser($userId);
$allBoards = $this->boardMapper->findBoardIds($userId);
/** @var IShare[] $shares */
$shares = [];
$start = 0;
while (true) {
$boards = array_slice($allBoards, $start, 100);
$start += 100;
$boards = array_slice($allBoards, $start, 1000);
$start += 1000;
if ($boards === []) {
break;
@@ -752,10 +752,6 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
$qb->andWhere($qb->expr()->eq('s.file_source', $qb->createNamedParameter($node->getId())));
}
$boards = array_map(function (Board $board) {
return $board->getId();
}, $boards);
$qb->andWhere($qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_DECK)))
->andWhere($qb->expr()->in('db.id', $qb->createNamedParameter(
$boards,