Skip to content

Commit 862080c

Browse files
committed
fix(files_reminders): Join the reminders with the file system metadata table
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
1 parent 92249b5 commit 862080c

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

apps/files_reminders/lib/Db/ReminderMapper.php

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -137,24 +137,14 @@ public function findNotified(DateTime $buffer, ?int $limit = null) {
137137
* @return Reminder[]
138138
*/
139139
public function findAllInFolder(IUser $user, Folder $folder) {
140-
$fileIds = array_values(array_filter(array_map(
141-
function (Node $node) {
142-
try {
143-
return $node->getId();
144-
} catch (NotFoundException $e) {
145-
return null;
146-
}
147-
},
148-
$folder->getDirectoryListing(),
149-
)));
150-
151140
$qb = $this->db->getQueryBuilder();
152141

153-
$qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified')
154-
->from($this->getTableName())
155-
->where($qb->expr()->eq('user_id', $qb->createNamedParameter($user->getUID(), IQueryBuilder::PARAM_STR)))
156-
->andWhere($qb->expr()->in('file_id', $qb->createNamedParameter($fileIds, IQueryBuilder::PARAM_INT_ARRAY)))
157-
->orderBy('due_date', 'ASC');
142+
$qb->select('r.id', 'r.user_id', 'r.file_id', 'r.due_date', 'r.updated_at', 'r.created_at', 'r.notified')
143+
->from($this->getTableName(), 'r')
144+
->innerJoin('r', 'filecache', 'f', $qb->expr()->eq('r.file_id', 'f.fileid'))
145+
->where($qb->expr()->eq('r.user_id', $qb->createNamedParameter($user->getUID(), IQueryBuilder::PARAM_STR)))
146+
->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($folder->getId(), IQueryBuilder::PARAM_INT)))
147+
->orderBy('r.due_date', 'ASC');
158148

159149
return $this->findEntities($qb);
160150
}

0 commit comments

Comments
 (0)