orchestrate-client

1.0.0 • Public • Published

orchestrate-client

orchestrate.io NodeJS client

##installation

npm i orchestrate-client

##usage

init

var orchestrate = require('orchestrate-client');
var db = orchestrate(<your token here>);

get all the users in the "users" collection

db.get('users', function(err, header, users) {
});

get the user with key = 1

db.get('users', 1, function(err, header, user) {
});

search & limit

db.get('users', {
    query: 'name:ddo',
    limit: 10
}, function(err, header, users) {
});

create

db.post('users', {
    name: 'ddo',
    age: 25,
    game: 'csgo, dota'
}, function(err, header) {
});

read the api below for more details

##api

refs

events

graph

###ping

validate your token(API key)

db.ping(function(err, header) {
});

###get

get, search, query, list documents

parameters:

  • collection required string
  • key string|number
  • opt object option (limit, query...) check orchestrate.io docs

example:

list

db.get('users', function(err, header, users) {
});

list with option

db.get('users', {
    limit: 5
}, function(err, header, users) {
});

get a document by key

db.get('users', key, function(err, header, user) {
});

search

db.get('users', {
    query: 'game:csgo',
    sort: 'value.name:asc',
    limit: 5
}, function(err, header, users) {
});

###post

create document, auto generate new key

parameters:

  • collection required string
  • data object

example:

create

db.post('user', {
    name: 'ddo',
    age: 25,
    game: 'csgo, dota'
}, function(err, header) {
});

create empty document

db.post('user', function(err, header) {
});

###put

create/update document

parameters:

  • collection required string
  • key required string|number
  • data object

example:

create/update document

db.put('user', 1, {
    name: 'ddooooooo',
    age: 25,
    game: 'csgo, dota, minecraftttt'
}, function(err, header) {
});

###del

delete document

parameters:

  • collection required string
  • key string|number
  • opt object

example:

delete document by key

db.del('user', 1, function(err, header) {
});

delete collection need force=true

db.del('user', {
    force: true
}, function(err, header) {
});

###ref.get

parameters:

  • collection required string
  • key required string|number
  • ref string|number
  • opt object

example:

get data of a ref

db.ref.get('user', 1, 'any_ref', function(err, header, data) {
});

list all refs of a document

db.ref.get('user', 1, function(err, header, data) {
});

list refs with option

db.ref.get('user', 1, {
    limit: 5
}, function(err, header, data) {
});

###event.get

parameters:

  • collection required string
  • key required string|number
  • type required string
  • opt object

example:

get data of a event

db.event.get('user', 1, 'login', function(err, header, data) {
});

get data of a event

db.event.get('user', 1, 'login', {
    timestamp: 1413215674842,
    ordinal: '05bf1e5dda086000', //must be a ordinal string
    limit: 1
}, function(err, header, data) {
});

###event.post

parameters:

  • collection required string
  • key required string|number
  • type required string
  • timestamp number
  • data object

example:

db.event.post('user', 1, 'login', function(err, header) {
});
db.event.post('user', 1, 'login', {
    ip: '3.3.3.3'
}, function(err, header) {
});
db.event.post('user', 1, 'login', 1413215674842, function(err, header) {
});
db.event.post('user', 1, 'login', 1413215674842, {
    login: '4.4.4.4'
}, function(err, header) {
});

###event.put

parameters:

  • collection required string
  • key required string|number
  • type required string
  • data object

example:

db.event.put('user', 1, 'login', {
    timestamp: 1413215674842,
    ordinal: '05bf1e5dda086000'
}, {
    ip: '5.5.5.5'
}, function(err, header) {
});

empty data

db.event.put('user', 1, 'login', {
    timestamp: 1413215674842,
    ordinal: '05bf1e5dda086000'
}, function(err, header) {
});

###event.del

parameters:

  • collection required string
  • key required string|number
  • type required string
  • opt object

example:

need opt purge=true

db.event.del('user', 1, 'login', {
    timestamp: 1413211094000,
    ordinal: '05bed877f0086000',
    purge: true
}, function(err, header) {
});

###graph.get

parameters:

  • collection required string
  • key required string|number
  • kind required string|array relations
  • opt object

example:

db.graph.get('user', 1, 'like', function(err, header, data) {
});
db.graph.get('user', 1, ['like', 'relationship'], function(err, header, data) {
});
db.graph.get('user', 1, ['like', 'relationship'], {
    limit: 5
}, function(err, header, data) {
});

###graph.put

parameters:

  • from required object with collection name and key
  • kind required string relation
  • to required object with collection name and key

example:

db.graph.put({
    collection: 'user',
    key: 1
}, 'like', {
    collection: 'user',
    key: 2
}, function(err, header) {
});
db.graph.put({
    from: {
        collection: 'user',
        key: 1
    }, 
    kind: 'like', 
    to: {
        collection: 'user',
        key: 2
    }
}, function(err, header) {
});

###graph.del

parameters:

  • from required object with collection name and key
  • kind required string relation
  • to required object with collection name and key
  • opt object

example:

need purge=true

db.graph.del({
    collection: 'user',
    key: 1
}, 'like', {
    collection: 'user',
    key: 2
}, {
    purge: true
}, function(err, header) {
});

##note

  • you can pass to all api with 2 params: (option, callback)

example

db.get({
    collection: 'user',
    key: 1,
    opt: {
        query: 'game:csgo',
        sort: 'value.name:asc'
    }
}, function(err, header, data) {
});

db.graph.del({
    from: {
        collection: 'user',
        key: 1
    }, 
    kind: 'like', 
    to: {
        collection: 'user',
        key: 2
    },
    opt: {
        purge: true
    }
}, function(err, header) {
});

##changelog

##testing

set env.ORCHESTRATE_TOKEN=<your token>

$ npm test

Readme

Keywords

Package Sidebar

Install

npm i orchestrate-client

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • ddo