Handle Filter.Limit

This commit is contained in:
dolcea@lenovo 2022-10-11 12:25:34 -03:00 committed by fiatjaf
parent e546214291
commit e47c80a63d

View File

@ -55,6 +55,12 @@ func (f *Filter) UnmarshalJSON(payload []byte) error {
}
tm := time.Unix(val, 0)
f.Until = &tm
case "limit":
val, err := v.Int()
if err != nil {
visiterr = fmt.Errorf("invalid 'limit' field: %w", err)
}
f.Limit = val
default:
if strings.HasPrefix(key, "#") {
f.Tags[key[1:]], err = fastjsonArrayToStringList(v)
@ -96,6 +102,9 @@ func (f Filter) MarshalJSON() ([]byte, error) {
o.Set("#"+k, stringListToFastjsonArray(&arena, v))
}
}
if f.Limit != 0 {
o.Set("limit", arena.NewNumberInt(f.Limit))
}
return o.MarshalTo(nil), nil
}