knack-api

2.0.0 • Public • Published

What is this?

This is for view based requests on the Knack platform. If you need the object based requests, use our other npm package: knack-object-api.

API for Knack for all CRUD operations (GET, POST, PUT, DELETE). This is recursive upon failure and takes function parameters to specify the data you are requesting/changing. This is for both Javascript and TypeScript. To use TypeScript, add /ts when importing/requiring

Installation

npm i knack-api --save

Then...

import { knack_api } from 'knack-api';
or 
const { knack_api } = require('knack-api');

For TypeScript, use: 
import { knack_api } from 'knack-api/ts';
or 
const { knack_api } = require('knack-api/ts');

const settings = {
    sceneKey: 'scene_xx', 
    viewKey: 'view_xx', 
    // optional parameters depending on operation
    page: '', 
    recordId: '',
    payload: {
        field_xx: '', 
    }, 
    filters: {
        'match': 'and'/'or', 
        'rules': [
            {
                'field': 'field_xx', 
                'operator': '', 
                'value': ''
            }
        ]
    }, 
    // sort can be given as a single object such as the example below, or an array of objects to further sort data
    sort: { 
        field: 'field_xx', 
        order: 'asc'/'desc'
    }, 
    // limit records per page ( anything up to 100 )
    rowsPerPage: 50, 
    // limit how many records are retrieved
    recordLimit: 25 , 
    // cb is callback - this will be called after every request (ex. if we need 5,000 records, 5 requests are needed and this will be triggered after each one)
    // all records will still be stored in memory until all requests are finished - a new version will introduce only using the callbacks so storing records in memory is not needed
    cb: function(data) { 
        console.log('data from every request', data);
    }
}

knack_api.get(settings), 
knack_api.put(settings), 
knack_api.post(settings), 
knack_api.deletion(settings)

You can also filter the resulted records by either entering an array of the fields you want in ".include([])" or the fields you want to exclude with ".exclude([])"
example: 
    const results = await knack_api.get(settings).include(['field_xx', 'field_xx'])
    const results = await knack_api.get(settings).exclude(['field_xx'])

Contact

ksensetech.com

Readme

Keywords

Package Sidebar

Install

npm i knack-api

Weekly Downloads

46

Version

2.0.0

License

ISC

Unpacked Size

29.6 kB

Total Files

6

Last publish

Collaborators

  • hunter_southworth
  • south_development