mirror of
https://github.com/GrassrootsEconomics/cic-dw.git
synced 2024-11-16 12:36:46 +01:00
Mohamed Sohail
77f127e14a
* feat: add admin/auth api - jwt cookie based auth - /auth - admin/* * add: meta proxy * fix: remove ussd account status from syncer * add: cookie defaults and nuxt init check route * add: pin and address handlers
1.1 KiB
1.1 KiB
API
The data warehouse additionally exposes a couple of REST API's (GraphQL planned):
- Dashboard API (
/dashboard
) - Exposes data forcic-dashboard
. Most data is expected to be chart/table API specific and usually not human readable. - Public API (
/public
) - Exposes public (on-chain only/non-sensitive) data. - Internal Admin API - back office operations
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]
.