perf: Combine fetching acls for boards

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2023-02-15 13:12:39 +01:00
parent 81c0d96357
commit ba3cab1036
2 changed files with 26 additions and 15 deletions

View File

@@ -52,6 +52,17 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
return $this->findEntities($qb);
}
public function findIn(array $boardIds, ?int $limit = null, ?int $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'board_id', 'type', 'participant', 'permission_edit', 'permission_share', 'permission_manage')
->from('deck_board_acl')
->where($qb->expr()->in('board_id', $qb->createNamedParameter($boardIds, IQueryBuilder::PARAM_INT_ARRAY)))
->setMaxResults($limit)
->setFirstResult($offset);
return $this->findEntities($qb);
}
/**
* @param numeric $userId
* @param numeric $id