Add checksum query expr

This commit is contained in:
Eike Kettner
2021-03-08 01:53:21 +01:00
parent 7b1ec97c97
commit 2b2f913e85
5 changed files with 45 additions and 26 deletions

View File

@ -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 {

View File

@ -65,6 +65,8 @@ object ExprUtil {
expr
case CustomFieldIdMatch(_, _, _) =>
expr
case ChecksumMatch(_) =>
expr
}
private def spliceAnd(nodes: Nel[Expr]): Nel[Expr] =

View File

@ -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
)
)
}