docs: add pagination api

This commit is contained in:
Mohamed Sohail 2022-05-19 16:34:24 +03:00
parent ef60e1b035
commit 642ccdddaa
Signed by: kamikazechaser
GPG Key ID: 7DD45520C01CD85D

View File

@ -7,3 +7,13 @@ The data warehouse additionally exposes a couple of REST API's (GraphQL planned)
3. Internal API (planned) 3. Internal API (planned)
Each API is domain separated i.e. separate SQL query files and router control. Each API is domain separated i.e. separate SQL query files and router control.
### Pagination
Some API endpoints use a modified cursor pagination. This is to avaoid uncessary full db scans and clientside bloat when paginating data for tables.
The pagination expects the following query string:
- `?per_page=` (int) - No. of items to return. Has a hard limit of 100
- `?forward=` (boolean) - If true, scrolls forward else backwards
- `?cursor=` (id:int) - Used with the forward query. If pagination forwards, pass in the id of the last result i.e. `results[length(results) - 1]`. If paginating backwards pass the id of the first element of the current result set i.e. `results[0]`.