rest.js

 /**
 * ConnexCS API
 * @module cxRest
 * @namespace cxRest
 * @class
 * @hideconstructor
 * @classdesc Communicate back into ConnexCS through the [API](https://api-docs.connexcs.com/)
 * 
 * ## Example ##
 * ```
 * const cxRest = require('cxRest');
 * const api = cxRest.auth("api@yourdomain.com"); 
 * 
 * async function main(data) {
 *   var customers = await api.get('customer');
 *   // Do something with result
 *   return customers
 * }
 * ```
 */

function rest () {
	
	/**
	 * Create Record
	 * 
	 * @function create
	 * @memberof cxRest
	 * @param {string} area - Datastore Name
	 * @param {string|number} key - Row Id
	 * @param {object} data - Data Object / Row
	 * @return {Promise}
	 *
	 * @example
	 * await rest.create('customer', {name: 'Joe Blogs'}})
	 */
	async function create(area, key, data) { }

	/**
	 * Create Record
	 * 
	 * @function read
	 * @memberof cxRest
	 * @param {string} read - Datastore Name
	 * @param {string|number} key - Row Id
	 * @return {Promise<object>}
	 *
	 * @example
	 * var data = await rest.read('customer/1234')
	 */
	async function read (area, key) { }

	/**
	 * Update Record
	 * 
	 * @function update
	 * @memberof cxRest
	 * @param {string} area - Datastore Name
	 * @param {string|number} key - Row Id
	 * @param {object} data - Data Object / Row
	 * @return {Promise}
	 *
	 * @example
	 * await rest.update('customer/1234', {name: 'Alice'})
	 */
	async function update(area, key, data) { }

	/**
	 * Delete Record
	 * 
	 * @function delete
	 * @memberof cxRest
	 * @param {string} area - Datastore Name
	 * @param {string|number} key - Row Id
	 * @return {Promise}
	 *
	 * @example
	 * await rest.delete('customer/1234')
	 */
	self.delete = async function (area, key) {	}
	return self;
}