fix search response

This commit is contained in:
Roman Perekhod
2024-02-09 09:39:07 +01:00
parent 5f57740976
commit 17a799c1fa
7 changed files with 39 additions and 18 deletions
+47
View File
@@ -0,0 +1,47 @@
package query
import (
"fmt"
"github.com/owncloud/ocis/v2/services/search/pkg/query/ast"
)
// StartsWithBinaryOperatorError records an error and the operation that caused it.
type StartsWithBinaryOperatorError struct {
Node *ast.OperatorNode
}
func (e StartsWithBinaryOperatorError) Error() string {
return "the expression can't begin from a binary operator: '" + e.Node.Value + "'"
}
// NamedGroupInvalidNodesError records an error and the operation that caused it.
type NamedGroupInvalidNodesError struct {
Node ast.Node
}
func (e NamedGroupInvalidNodesError) Error() string {
return fmt.Errorf(
"'%T' - '%v' - '%v' is not valid",
e.Node,
ast.NodeKey(e.Node),
ast.NodeValue(e.Node),
).Error()
}
// UnsupportedTimeRangeError records an error and the value that caused it.
type UnsupportedTimeRangeError struct {
Value interface{}
}
func (e UnsupportedTimeRangeError) Error() string {
return fmt.Sprintf("unable to convert '%v' to a time range", e.Value)
}
func IsValidationError(err error) bool {
switch err.(type) {
case *StartsWithBinaryOperatorError, *NamedGroupInvalidNodesError, *UnsupportedTimeRangeError:
return true
}
return false
}