nodata

node odata client

npm install nodata
5 downloads in the last week
5 downloads in the last month

node-odata

An odata client module for Node Build Status

Installation

npm install nodata

Usage

This module generates endpoints based from odata service urls

var odata = require('nodata');

odata.createServices([{name: 'name', url: 'url1', {name: 'name2', url: 'url2']);

This will return a promise containing the potential generated endpoints for each service queried

odata([{name: 'serviceOne', url: 'url1'}])
  .then(function (services) {

    // use services
  });

If passed a 'authUrl', it will generate a login endpoint which can be used to obtain a cookie for subsequent requests.

services.login('username', 'password', function (error, cookie) {

  // I Have a cookie now
});

Each endpoint has a get function

var Oquery = require('nodata').Oquery;

services.someService.someEndpoint
  .get(new Oquery(1).expand('someNavProp'), cookie, function (error, data) {

    // check for errors and do something with data
  });

// Or with a composite key
services.someService.someEndpoint
  .get(new Oquery({key1: 1, key2: 2}), cookie, funciton (error, data) {

    // do stuff
  });

An insert function

services.someService.someEndpoint
  .insert(someJsonItem, cookie, function (err, data) {

    // check for errors and celebrate success
  });

An update function

services.someService.someEndpoint
  .update(1, someJsonItem, cookie, function (err, data) {

    // check for errors and celebrate success
  });

And a delete function

services.someService.someEndpoint
  .delete(1, cookie, function (err, data) {

    // check for errors and celebrate success
  });;

Query Syntax

An Oquery is built from an optional id followed by orderby, filter, expand, skip, top, inlinecount, and select

var Oqeury = require('nodata').Oquery;

var query = new Oquery(1).orderby('id')
  .filter('state eq 2').expand('someNavProp')
  .skip(5).top(10).select('someNavProp').inlinecount();

endpoint.get(query, cookie, function () {});
npm loves you