Filter on additional fields (complete)
This commit is contained in:
+5
-6
@@ -122,8 +122,13 @@ impl ReqFilter {
|
||||
// determine if all populated fields in this filter match the provided event.
|
||||
// a filter matches an event if all the populated fields match.
|
||||
// Iterate through each filter field, return false if the field exists and doesn't match the event.
|
||||
// order based on cost; id, time, kind, author, event
|
||||
if !self.id.as_ref().map(|v| v == &event.id).unwrap_or(true) {
|
||||
false
|
||||
} else if !self.since.map(|t| event.created_at > t).unwrap_or(true) {
|
||||
false
|
||||
} else if !self.kind.map(|v| v == event.kind).unwrap_or(true) {
|
||||
false
|
||||
} else if !self
|
||||
.author
|
||||
.as_ref()
|
||||
@@ -131,8 +136,6 @@ impl ReqFilter {
|
||||
.unwrap_or(true)
|
||||
{
|
||||
false
|
||||
} else if !self.kind.map(|v| v == event.kind).unwrap_or(true) {
|
||||
false
|
||||
} else if !self.author_match(&event.pubkey) {
|
||||
false
|
||||
} else if !self
|
||||
@@ -142,10 +145,6 @@ impl ReqFilter {
|
||||
.unwrap_or(true)
|
||||
{
|
||||
false
|
||||
// event: Option<String>,
|
||||
// pubkey: Option<String>,
|
||||
// since: Option<u64>,
|
||||
// authors: Option<Vec<String>>,
|
||||
} else {
|
||||
true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user