|
|
@ -26,6 +26,10 @@ func Compose(filters ...interface{}) *Query { |
|
|
|
// Push applies single filter to a query
|
|
|
|
// Push applies single filter to a query
|
|
|
|
func Push(q *Query, f interface{}) bool { |
|
|
|
func Push(q *Query, f interface{}) bool { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if f == nil { |
|
|
|
|
|
|
|
return true |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ok := false |
|
|
|
ok := false |
|
|
|
ok = ok || applyBson(q, f) |
|
|
|
ok = ok || applyBson(q, f) |
|
|
|
ok = ok || applyLimit(q, f) |
|
|
|
ok = ok || applyLimit(q, f) |
|
|
@ -91,9 +95,6 @@ func applyProtection(q *Query, f interface{}) bool { |
|
|
|
x = &f.X |
|
|
|
x = &f.X |
|
|
|
v = &f.V |
|
|
|
v = &f.V |
|
|
|
case *protection.Key: |
|
|
|
case *protection.Key: |
|
|
|
if f == nil { |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
x = &f.X |
|
|
|
x = &f.X |
|
|
|
v = &f.V |
|
|
|
v = &f.V |
|
|
|
|
|
|
|
|
|
|
|