2.0.19 • Published 4 years ago

sdata-client v2.0.19

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

SData client library for Node.js

Overview

Very simple library facilitating SData calls from a node app.

Installing

npm install sdata-client

Example usage

Reading a resource

    var sdataProvider = require('sdata-client');
    var sdata = sdataProvider('http://localhost/sdata/slx/dynamic/-/', 'admin', '');
    sdata.read('accounts', 'AccountName like \'A%\'', function(error, data) {
      // retrieve accounts from data.$resources
      // other sdata fields are available in data
    });

    // can pass additional parameters for the query
    sdata.read('accounts', 'AccountName like \'A%\'', { include: 'Address,Contacts' }, function(error, data) {

    });

For new development, promise-style invocation is preferred (see below)

Note that if you pass both a where string and a where key in the query args, the one from the query args will take precedence.

Updating

    var sdata = require('sdata-client')(url, 'admin', '');
    sdata.update('accounts', { '$key': 'Axxxxxxx', AccountName: 'Foo' }, function(error, data) { ... });
    sdata.create('accounts', { AccountName: 'Foo' }, function(error, data) { ... });
    // this one will call create if the $key is missing, update otherwise
    sdata.upsert('accounts', { '$key': 'Axxxxxxx', AccountName: 'Foo' }, function(error, data) { ... });
    sdata.delete('accounts', 'Axxxxxxx', function(error) { ... } );

Passing username / password

At construction time

    var sdataProvider = require('sdata-client');
    var sdata = sdataProvider('http://localhost/sdata/slx/dynamic/-/', 'admin', '');

After the fact

    var sdata = require('sdata-client')(url);
    sdata.setAuthenticationParameters('admin', '');

Error handling

    var sdata = require('sdata-client')(url, 'admin', '');
    sdata.read('accounts', 'SomeInvalidQueryParam eq \'\'', function(error, data) {
        if(error)
            console.warn('SDATA ERROR: ' + error.message);
    });

If the sdata server returns an error diagnostic, the error will be an SDataError instance (lib/SDataError) with the following properties:

  • applicationCode (internal details including the slxErrorId)
  • message
  • payloadPath
  • sdataCode (usually "ApplicationDiagnosis")
  • severity (usually "Error")
  • stackTrace (the one thrown by the server, not the Javascript stack)

Usage with promises

When a callback is not provided to the sdata method, it will return a promise instead (this is preferred as otherwise the callback will execute in a then block and exceptions thrown from it may not be properly handled)

Debugging

Set the DEBUG environment variable to sdata:* to log everything, or sdata:errors to log detailed trace for the errors

2.0.19

4 years ago

2.0.18

4 years ago

2.0.17

4 years ago

2.0.16

4 years ago

2.0.15

7 years ago

2.0.14

8 years ago

2.0.13

8 years ago

2.0.12

8 years ago

2.0.11

8 years ago

2.0.10

8 years ago

2.0.9

8 years ago

2.0.8

8 years ago

2.0.7

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago