3 ms·
There are libraries for Ecto that help with this. https://github.com/duffelhq/paginator https://github.com/duffelhq/paginator
by cess11 2y ago
There are libraries for Ecto that help with this.
https://github.com/duffelhq/paginator https://github.com/duffelhq/paginator
- sph 2y agoCareful that this library last I used it (2020 or so) used a particularly insecure encoding of the cursor that basically allows remote execution. Not sure if they ever addressed it. Here's the fork I created at the time to work around some of these issues: https://github.com/1player/paginator https://github.com/1player/paginator
- cess11 2y agoThanks for pointing that out.
- ethbr1 2y agoThanks to thread for the informative responses! (And the useful README on your fork/the upstream) I try to assume someone's thought of better than the best I could, or at least learned the hard way what edge cases need to be handled.
- gregors 2y agoThis looks like it was fixed * https://github.com/duffelhq/paginator/blob/main/lib/paginator/cursor.ex#L9 https://github.com/duffelhq/paginator/blob/main/lib/paginato... * https://github.com/duffelhq/paginator/blob/main/test/paginator_test.exs#L830 https://github.com/duffelhq/paginator/blob/main/test/paginat...