mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-06-02 11:10:09 +02:00
nip50: add filter.search field
This commit is contained in:
parent
433a53fef2
commit
77c625e341
@ -17,6 +17,7 @@ type Filter struct {
|
|||||||
Since *time.Time
|
Since *time.Time
|
||||||
Until *time.Time
|
Until *time.Time
|
||||||
Limit int
|
Limit int
|
||||||
|
Search string
|
||||||
}
|
}
|
||||||
|
|
||||||
type TagMap map[string][]string
|
type TagMap map[string][]string
|
||||||
@ -109,5 +110,9 @@ func FilterEqual(a Filter, b Filter) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if a.Search != b.Search {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,8 @@ func (f *Filter) UnmarshalJSON(payload []byte) error {
|
|||||||
visiterr = fmt.Errorf("invalid 'limit' field: %w", err)
|
visiterr = fmt.Errorf("invalid 'limit' field: %w", err)
|
||||||
}
|
}
|
||||||
f.Limit = val
|
f.Limit = val
|
||||||
|
case "search":
|
||||||
|
f.Search = v.String()
|
||||||
default:
|
default:
|
||||||
if strings.HasPrefix(key, "#") {
|
if strings.HasPrefix(key, "#") {
|
||||||
f.Tags[key[1:]], err = fastjsonArrayToStringList(v)
|
f.Tags[key[1:]], err = fastjsonArrayToStringList(v)
|
||||||
@ -105,6 +107,9 @@ func (f Filter) MarshalJSON() ([]byte, error) {
|
|||||||
if f.Limit != 0 {
|
if f.Limit != 0 {
|
||||||
o.Set("limit", arena.NewNumberInt(f.Limit))
|
o.Set("limit", arena.NewNumberInt(f.Limit))
|
||||||
}
|
}
|
||||||
|
if f.Search != "" {
|
||||||
|
o.Set("search", arena.NewString(f.Search))
|
||||||
|
}
|
||||||
|
|
||||||
return o.MarshalTo(nil), nil
|
return o.MarshalTo(nil), nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user