diff options
author | 2023-09-12 14:00:35 +0100 | |
---|---|---|
committer | 2023-09-12 14:00:35 +0100 | |
commit | 7293d6029b43db693fd170c0c087394339da0677 (patch) | |
tree | 09063243faf1b178fde35973486e311f66b1ca33 /internal/paging/boundary.go | |
parent | [feature] Allow admins to expire remote public keys; refetch expired keys on ... (diff) | |
download | gotosocial-7293d6029b43db693fd170c0c087394339da0677.tar.xz |
[feature] add paging to account follows, followers and follow requests endpoints (#2186)
Diffstat (limited to 'internal/paging/boundary.go')
-rw-r--r-- | internal/paging/boundary.go | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/internal/paging/boundary.go b/internal/paging/boundary.go index 2f202097b..15af65e0c 100644 --- a/internal/paging/boundary.go +++ b/internal/paging/boundary.go @@ -17,10 +17,10 @@ package paging -// MinID returns an ID boundary with given min ID value, +// EitherMinID returns an ID boundary with given min ID value, // using either the `since_id`,"DESC" name,ordering or // `min_id`,"ASC" name,ordering depending on which is set. -func MinID(minID, sinceID string) Boundary { +func EitherMinID(minID, sinceID string) Boundary { /* Paging with `since_id` vs `min_id`: @@ -47,18 +47,28 @@ func MinID(minID, sinceID string) Boundary { */ switch { case minID != "": - return Boundary{ - Name: "min_id", - Value: minID, - Order: OrderAscending, - } + return MinID(minID) default: // default min is `since_id` - return Boundary{ - Name: "since_id", - Value: sinceID, - Order: OrderDescending, - } + return SinceID(sinceID) + } +} + +// SinceID ... +func SinceID(sinceID string) Boundary { + return Boundary{ + Name: "since_id", + Value: sinceID, + Order: OrderDescending, + } +} + +// MinID ... +func MinID(minID string) Boundary { + return Boundary{ + Name: "min_id", + Value: minID, + Order: OrderAscending, } } @@ -111,7 +121,7 @@ func (b Boundary) new(value string) Boundary { // Find finds the boundary's set value in input slice, or returns -1. func (b Boundary) Find(in []string) int { - if zero(b.Value) { + if b.Value == "" { return -1 } for i := range in { @@ -121,15 +131,3 @@ func (b Boundary) Find(in []string) int { } return -1 } - -// Query returns this boundary as assembled query key=value pair. -func (b Boundary) Query() string { - switch { - case zero(b.Value): - return "" - case b.Name == "": - panic("value without boundary name") - default: - return b.Name + "=" + b.Value - } -} |