diff options
author | 2024-04-30 11:19:33 +0100 | |
---|---|---|
committer | 2024-04-30 12:19:33 +0200 | |
commit | 4f87ef246cc15d2b4a3effb3dff5cf3ece9a44b3 (patch) | |
tree | e2c3bb90ce14db783120a37edf865c7e05c3634b /internal/paging/boundary.go | |
parent | [chore]: Bump github.com/tdewolff/minify/v2 from 2.20.19 to 2.20.20 (#2875) (diff) | |
download | gotosocial-4f87ef246cc15d2b4a3effb3dff5cf3ece9a44b3.tar.xz |
[bugfix] paging rel links (#2883)
* fix paging so it uses correct cursor query parameter name
* improved code comment
* whoops, flip the cursoring :facepalm:
* fix the broken test
Diffstat (limited to 'internal/paging/boundary.go')
-rw-r--r-- | internal/paging/boundary.go | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/internal/paging/boundary.go b/internal/paging/boundary.go index 83d265515..bf4508aff 100644 --- a/internal/paging/boundary.go +++ b/internal/paging/boundary.go @@ -23,26 +23,36 @@ package paging func EitherMinID(minID, sinceID string) Boundary { /* - Paging with `since_id` vs `min_id`: - - limit = 4 limit = 4 - +----------+ +----------+ - max_id--> |xxxxxxxxxx| | | <-- max_id - +----------+ +----------+ - |xxxxxxxxxx| | | - +----------+ +----------+ - |xxxxxxxxxx| | | - +----------+ +----------+ - |xxxxxxxxxx| |xxxxxxxxxx| - +----------+ +----------+ - | | |xxxxxxxxxx| - +----------+ +----------+ - | | |xxxxxxxxxx| - +----------+ +----------+ - since_id--> | | |xxxxxxxxxx| <-- min_id - +----------+ +----------+ - | | | | - +----------+ +----------+ + Paging with `since_id` vs `min_id`: + + limit = 4 limit = 4 + +----------+ +----------+ + max_id--> |xxxxxxxxxx| | | <-- max_id + +----------+ +----------+ + |xxxxxxxxxx| | | + +----------+ +----------+ + |xxxxxxxxxx| | | + +----------+ +----------+ + |xxxxxxxxxx| |xxxxxxxxxx| + +----------+ +----------+ + | | |xxxxxxxxxx| + +----------+ +----------+ + | | |xxxxxxxxxx| + +----------+ +----------+ + since_id--> | | |xxxxxxxxxx| <-- min_id + +----------+ +----------+ + | | | | + +----------+ +----------+ + + To sum it up in words: + + when paging with since_id, max_id is used as + the cursor value, and since_id provides a + limiting value to the results. + + when paging with min_id, min_id is used as + the cursor value, and max_id provides a + limiting value to the results. */ switch { |