mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-21 18:08:25 +00:00
Add checksum query expr
This commit is contained in:
@ -109,7 +109,8 @@ object ItemQuery {
|
||||
final case class CustomFieldIdMatch(id: String, op: Operator, value: String)
|
||||
extends Expr
|
||||
|
||||
final case class Fulltext(query: String) extends Expr
|
||||
final case class Fulltext(query: String) extends Expr
|
||||
final case class ChecksumMatch(checksum: String) extends Expr
|
||||
|
||||
// things that can be expressed with terms above
|
||||
sealed trait MacroExpr extends Expr {
|
||||
|
@ -65,6 +65,8 @@ object ExprUtil {
|
||||
expr
|
||||
case CustomFieldIdMatch(_, _, _) =>
|
||||
expr
|
||||
case ChecksumMatch(_) =>
|
||||
expr
|
||||
}
|
||||
|
||||
private def spliceAnd(nodes: Nel[Expr]): Nel[Expr] =
|
||||
|
@ -76,6 +76,9 @@ object SimpleExprParser {
|
||||
val dirExpr: P[Expr.DirectionExpr] =
|
||||
(P.string("incoming:") *> BasicParser.bool).map(Expr.DirectionExpr.apply)
|
||||
|
||||
val checksumExpr: P[Expr.ChecksumMatch] =
|
||||
(P.string("checksum:") *> BasicParser.singleString).map(Expr.ChecksumMatch.apply)
|
||||
|
||||
val simpleExpr: P[Expr] =
|
||||
P.oneOf(
|
||||
List(
|
||||
@ -89,7 +92,8 @@ object SimpleExprParser {
|
||||
customFieldIdExpr,
|
||||
customFieldExpr,
|
||||
inboxExpr,
|
||||
dirExpr
|
||||
dirExpr,
|
||||
checksumExpr
|
||||
)
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user