mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-03-17 21:32:56 +01: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
|
||||
Until *time.Time
|
||||
Limit int
|
||||
Search string
|
||||
}
|
||||
|
||||
type TagMap map[string][]string
|
||||
@ -109,5 +110,9 @@ func FilterEqual(a Filter, b Filter) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
if a.Search != b.Search {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
@ -61,6 +61,8 @@ func (f *Filter) UnmarshalJSON(payload []byte) error {
|
||||
visiterr = fmt.Errorf("invalid 'limit' field: %w", err)
|
||||
}
|
||||
f.Limit = val
|
||||
case "search":
|
||||
f.Search = v.String()
|
||||
default:
|
||||
if strings.HasPrefix(key, "#") {
|
||||
f.Tags[key[1:]], err = fastjsonArrayToStringList(v)
|
||||
@ -105,6 +107,9 @@ func (f Filter) MarshalJSON() ([]byte, error) {
|
||||
if f.Limit != 0 {
|
||||
o.Set("limit", arena.NewNumberInt(f.Limit))
|
||||
}
|
||||
if f.Search != "" {
|
||||
o.Set("search", arena.NewString(f.Search))
|
||||
}
|
||||
|
||||
return o.MarshalTo(nil), nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user