nodata

0.0.2 • Public • Published

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 () {});

Readme

Keywords

none

Package Sidebar

Install

npm i nodata

Weekly Downloads

0

Version

0.0.2

License

MIT

Last publish

Collaborators

  • zclark