This new version replaces the existing pagination for the .all()
endpoints that used a combination
of page
and per_page
parameters, and instead uses a cursor
based pagination. So to list
(as an example) Plans you now can:
const ChartMogul = require('chartmogul-node');
const config = new ChartMogul.Config('apiKey');
// Getting the first page
plans = ChartMogul.Plan.all(config, { per_page: 12 })
This will return an array of plans (if available), and a cursor + has_more fields:
{
"plans": [
{
"uuid": "some_uuid",
"data_source_uuid": "some_uuid",
"name": "Master Plan"
}
],
"has_more": true,
"cursor": "MjAyMy0wNy0yOFQwODowOToyMi4xNTQyMDMwMDBaJjk0NDQ0Mg=="
}
// You can get other pages passing a cursor
if (plans.has_more) {
more_plans = ChartMogul.Plan.all(config, { per_page: 3, cursor: plans.cursor })
}
If you have existing code that relies on the page
parameter, those requests will now throw an error
alerting you of their deprecation.