@zenginehq/backend-http
v3.2.1
Published
Helper library for working with znHttp in Zengine backend plugins.
Downloads
25
Readme
Backend HTTP
Helper module for working with znHttp in Zengine backend Plugins.
Installation
npm i @zenginehq/backend-http
Usage
Bulk fetching records
var $api = require('@zenginehq/backend-http')();
// Example Response success and failure handlers.
znHttp().get(path)
.then($api.formatResponse)
.then(data => {
// data will be the Zengine object(s) you requested without all the metadata distractions
})
.catch($api.errHandler);
// Fetch *all* records across multiple pages if available, with any special parameters included in the second arg.
$api.fetchBatched(path, { limit: 100, 'not-field123': 'some value' })
.then(results => {
console.log(results.length);
});
Record CRUD
// Load an existing record.
$api.getRecord(formId, recordId).then(record => {
// do something with `record`
});
// Update an existing record.
// data should be a single object.
// options should be an object and can include specific headers and a specific amount of retry attempts.
// delay should be provided in milliseconds.
// options and delay are optional.
$api.updateRecord(formId, recordId, data, options, delay);
// Query form records.
// options should be an object and can include a results limit, sorting options, and a Zengine filter.
$api.queryRecords = (formId, options);
// Delete an existing record.
$api.deleteRecord(formId, recordId);
// Create a new record. data can be an array of objects or a single object
$api.createRecord(formId, data).then(recordId => {
// the record ID(s) from the successful create (or update) operation.
// Important: it will always be the ID(s), not the entire record(s)
});
// Move a record to a folder.
$api.moveRecord(formId, recordId, folderId);
Special Note
To update multiple records on the same form, use the createRecord
method and include the IDs of each object to ensure they are updated, rather than having new records created.
Other convenience methods
// Loads an activity by id, useful for working with webhooks.
const activity = await $api.getActivity(activityId);
// Loads a form by id.
const form = await $api.getForm(formId);