NodeJS client library with loopback SDK syntax
$ npm install --save loopback-nodejs-clientvarLoopbackClient=require('loopback-nodejs-client')varloopbackClient=newLoopbackClient('http://localhost:3000/api');varCustomers=loopbackClient.getModel('customers')Customers.create({name: 'ido4pro',city: 'plougonvelin'}).then(function(customer){console.log(customer)Customers.find({filter: {where: {name: 'ido4pro'}}}).then(function(customers){console.log(customers)}).catch(function(err){console.log(err)})Customers.count({where: {name: 'ido4pro'}}).then(function(customers){console.log(customers)}).catch(function(err){console.log(err)})}).catch(function(err){console.log(err)})varloopbackClientWithAuth=newLoopbackClient('http://localhost:3000/api','xxx EMAIL USER xxx','xxx PASSWORD xxx')loopbackClientWithAuth.createToken().then(function(){varCustomers=loopbackClientWithAuth.getModel('customers')Customers.count({where: {name: 'ido4pro'}}).then(function(customers){console.log(customers)}).catch(function(err){console.log(err)})})varloopbackClientWithAuth=newLoopbackClient('http://localhost:3000/api','xxx EMAIL USER xxx','xxx PASSWORD xxx')// Default Value is : '/users/login?include=user'loopbackClientWithAuth.setCustomLoginPath('/user/login?include=user')loopbackClientWithAuth.createToken().then(function(){varCustomers=loopbackClientWithAuth.getModel('customers')Customers.count({where: {name: 'ido4pro'}}).then(function(customers){console.log(customers)}).catch(function(err){console.log(err)})})Try to be compliant with https://loopback.io/doc/en/lb3/Working-with-data.html
create(data) --> data = { id: 'xxx', filter: {...} } (filter is optional)
count(query) --> query = { where : {name: 'xxx'} }, where = { where: {and: [{name: 'xxx'},{city: 'xxx'}]
*NOT AVAILABLE IN LOOPBACK EXTERNALY * updateAll(query,data)
updateById(id,data)
updateAttributesById(id,data)
find(filter)
findById(data)
findOne(query)
deleteById(id)
replaceOrCreate(data)
upsertWithWhere(query,data) --> query = { where : {name: 'xxx'} }
replaceOrCreate(data)
remote(customRoute,data) -> your customRoute name (example: greet) see https://loopback.io/doc/en/lb3/Remote-methods.html
remote(customRoute,query,data) -> your customRoute name (example: greet) see https://loopback.io/doc/en/lb3/Remote-methods.html
remoteGet(customRoute,query)
remotePut(customRoute,data)
remotePatch(customRoute,data)
All methods accepts an option object to define timeout and/or additionnals headers
find({},{ timeout:2000, headers:{'TAG_ID':'146464646464}})
Check the test/index.js
This lib use debug (https://github.com/visionmedia/debug) to log request
Activate log trace with environment variable "DEBUG=LoopBackClient"
example : DEBUG=LoopBackClient npm run test
MIT © Stéphane GUILLY