mirror of
https://github.com/cloudreve/Cloudreve.git
synced 2025-12-25 15:42:47 +00:00
fix(search): multiple metadata search does not work (#3027)
This commit is contained in:
parent
b507c1b893
commit
994ef7af81
2
assets
2
assets
|
|
@ -1 +1 @@
|
|||
Subproject commit 8b91fca9291b58edd100949954039fc71524f97d
|
||||
Subproject commit 51bbced0b36c1d5de5fa1b8e49955c771082449f
|
||||
|
|
@ -78,7 +78,7 @@ func (f *fileClient) searchQuery(q *ent.FileQuery, args *SearchFileParameters, p
|
|||
return metadata.And(metadata.NameEQ(item.Key), metadata.ValueEQ(item.Value))
|
||||
}
|
||||
|
||||
nameEq := metadata.NameEQ(item.Key)
|
||||
nameEq := metadata.And(metadata.IsPublic(true), metadata.NameEQ(item.Key))
|
||||
if item.Value == "" {
|
||||
return nameEq
|
||||
} else {
|
||||
|
|
@ -86,8 +86,9 @@ func (f *fileClient) searchQuery(q *ent.FileQuery, args *SearchFileParameters, p
|
|||
return metadata.And(nameEq, valueContain)
|
||||
}
|
||||
})
|
||||
metaPredicates = append(metaPredicates, metadata.IsPublic(true))
|
||||
q.Where(file.HasMetadataWith(metadata.And(metaPredicates...)))
|
||||
q.Where(file.And(lo.Map(metaPredicates, func(item predicate.Metadata, index int) predicate.File {
|
||||
return file.HasMetadataWith(item)
|
||||
})...))
|
||||
}
|
||||
|
||||
if args.SizeLte > 0 || args.SizeGte > 0 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue