##Espresso Logic
Espresso Logic is the fastest way to create REST APIs with your data. You can join data across multiple data sources, write declarative rules, and define granular security for an API that deploys in the time it takes to scan the schema. For more information about this SDK, please visit our doc center.
Installation
The SDK library is installed as we might expect, from a simple npm install command:
npm install espressologic
Getting Started
Connecting to an existing project is done via the espressologic.connect() method. Here we are connecting to a sample API which is available as a sandbox for exploring the basics:
var espressologic, api;
espressologic = require('espressologic');
api = espressologic.connect('https://eval.espressologic.com/rest/livedemo/demo/v1', 'demo', 'Password1');
api = espressologic.connect('https://eval.espressologic.com/rest/livedemo/demo/v1', 'readonly');
Espresso builds an API around the tables and relationships it finds in your database. Once connected, your project endpoints are accessible in an easy to use format:
var espressologic, api;
espressologic = require('espressologic');
api = espressologic.connect('https://eval.espressologic.com/rest/livedemo/demo/v1', 'demo', 'Password1');
var customers;
customers = api.endpoint('customer');
customers.get().then(function (data) {
console.log(data);
});
The customers.get() method refers to the http request method, and PUT/POST/DELETE requests will look very similar (though, for these requests, we invite you to register for an account @ Espresso Logic).
var customers, newCustomer;
customers = api.endpoint('/customers');
alphaCustomer = {
name: "Alpha",
credit_limit: "1234"
};
//POST
customers.post(alphaCustomer, params).then(function (txSummary) {
console.log(txSummary); //an array of objects updated
});
//GET
customers.get().then(function (data) {
console.log(data); //an array which will now include customer: Alpha
//objects returned include metadata specific to each record,
//the most useful to us here is the endpoint href
var alphaEndpoint = espressologic.endpoint(data[0]['@metadata'].href);
//PUT
data[0].name = 'Alpha Updated';
alphaEndpoint.put(data[0]).then(function(txSummary) {
console.log(txSummary);
});
//DELETE
alphaEndpoint.delete(data[0]).then(function(txSummary) {
console.log(txSummary);
});
});