Skip to content

Commit 9bbbab0

Browse files
committed
fix: change if with conditionless else to switch; and a parameter value
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
1 parent 9ed127f commit 9bbbab0

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

lib/private/Files/Cache/QuerySearchHelper.php

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -153,25 +153,30 @@ public function searchInCaches(ISearchQuery $searchQuery, array $caches): array
153153
if ($user === null) {
154154
throw new \InvalidArgumentException("Searching by tag requires the user to be set in the query");
155155
}
156-
if ($searchQuery->getSearchOperation() instanceof ISearchComparison && $searchQuery->getSearchOperation()->getField() === 'systemtag') {
157-
$query
158-
->leftJoin('file', 'systemtag_object_mapping', 'systemtagmap', $builder->expr()->andX(
159-
$builder->expr()->eq('file.fileid', $builder->expr()->castColumn('systemtagmap.objectid', IQueryBuilder::PARAM_INT)),
160-
$builder->expr()->eq('systemtagmap.objecttype', $builder->createNamedParameter('files'))
161-
))
162-
->leftJoin('systemtagmap', 'systemtag', 'systemtag', $builder->expr()->andX(
163-
$builder->expr()->eq('systemtag.id', 'systemtagmap.systemtagid'),
164-
$builder->expr()->eq('systemtag.visibility', $builder->createNamedParameter(true))
165-
));
166-
} else {
167-
$query
168-
->leftJoin('file', 'vcategory_to_object', 'tagmap', $builder->expr()->eq('file.fileid', 'tagmap.objid'))
169-
->leftJoin('tagmap', 'vcategory', 'tag', $builder->expr()->andX(
170-
$builder->expr()->eq('tagmap.type', 'tag.type'),
171-
$builder->expr()->eq('tagmap.categoryid', 'tag.id'),
172-
$builder->expr()->eq('tag.type', $builder->createNamedParameter('files')),
173-
$builder->expr()->eq('tag.uid', $builder->createNamedParameter($user->getUID()))
174-
));
156+
if ($searchQuery->getSearchOperation() instanceof ISearchComparison) {
157+
switch ($searchQuery->getSearchOperation()->getField()) {
158+
case 'systemtag':
159+
$query
160+
->leftJoin('file', 'systemtag_object_mapping', 'systemtagmap', $builder->expr()->andX(
161+
$builder->expr()->eq('file.fileid', $builder->expr()->castColumn('systemtagmap.objectid', IQueryBuilder::PARAM_INT)),
162+
$builder->expr()->eq('systemtagmap.objecttype', $builder->createNamedParameter('files'))
163+
))
164+
->leftJoin('systemtagmap', 'systemtag', 'systemtag', $builder->expr()->andX(
165+
$builder->expr()->eq('systemtag.id', 'systemtagmap.systemtagid'),
166+
$builder->expr()->eq('systemtag.visibility', $builder->createNamedParameter(true))
167+
));
168+
break;
169+
case 'tagname':
170+
$query
171+
->leftJoin('file', 'vcategory_to_object', 'tagmap', $builder->expr()->eq('file.fileid', 'tagmap.objid'))
172+
->leftJoin('tagmap', 'vcategory', 'tag', $builder->expr()->andX(
173+
$builder->expr()->eq('tagmap.type', 'tag.type'),
174+
$builder->expr()->eq('tagmap.categoryid', 'tag.id'),
175+
$builder->expr()->eq('tag.type', $builder->createNamedParameter('files')),
176+
$builder->expr()->eq('tag.uid', $builder->createNamedParameter($user->getUID()))
177+
));
178+
break;
179+
}
175180
}
176181
}
177182

lib/private/Files/Node/Folder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ public function searchByMime($mimetype) {
300300
* @return Node[]
301301
*/
302302
public function searchByTag($tag, $userId) {
303-
$query = $this->queryFromOperator(new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'tag', $tag), $userId);
303+
$query = $this->queryFromOperator(new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'tagname', $tag), $userId);
304304
return $this->search($query);
305305
}
306306

0 commit comments

Comments
 (0)