Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/octoblu/node-meshblu-http

Meshblu HTTP API
https://github.com/octoblu/node-meshblu-http

Last synced: 10 days ago
JSON representation

Meshblu HTTP API

Awesome Lists containing this project

README

        

# Meshblu HTTP
A node package to use the Meshblu HTTP API...

[![Build Status](https://travis-ci.org/octoblu/node-meshblu-http.svg?branch=master)](https://travis-ci.org/octoblu/node-meshblu-http)
[![Code Climate](https://codeclimate.com/github/octoblu/node-meshblu-http/badges/gpa.svg)](https://codeclimate.com/github/octoblu/node-meshblu-http)
[![Test Coverage](https://codeclimate.com/github/octoblu/node-meshblu-http/badges/coverage.svg)](https://codeclimate.com/github/octoblu/node-meshblu-http)
[![npm version](https://badge.fury.io/js/meshblu-http.svg)](http://badge.fury.io/js/meshblu-http)
[![Gitter](https://badges.gitter.im/octoblu/help.svg)](https://gitter.im/octoblu/help)

# Usage
### Install:
```shell
npm install --save meshblu-http
```

### Use:
```javascript
var MeshbluHttp = require('meshblu-http');

var meshbluHttp = new MeshbluHttp();

meshbluHttp.register({}, function(error, response) {
// code goes here
})
```

# Functions
### Constructor
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| options | object | no | can contain any of these keys: bearerToken, uuid, token, hostname, port, protocol, domain, service, secure, resolveSrv, auth |
------------------------------------------
```javascript
var meshbluHttp = new MeshbluHttp({uuid: 'fancy_uuid', token: 'fancy_token'})
var meshbluHttp = new MeshbluHttp({bearerToken: 'some-bearer-token'})
```

### Authenticate
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.authenticate(function(error, response) {
// code goes here
})
```

### Create Hook
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid |
| type | string | yes    | a string containing the type |
| url | string | yes    | a string containing the url |
| callback |function| yes    | a function that returns error |
------------------------------------------
```javascript
meshbluHttp.createHook('fancy_uuid', 'fancy_token', 'fancy_url', function(error) {
// code goes here
})
```

### Create Subscription
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| options | object | yes    | an object containing three keys: subscriberUuid, emitterUuid, and type |
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.createSubscription(
{
subscriberUuid: 'fancy_uuid',
emitterUuid: 'another_fancy_uuid',
type: 'fancy_type'
},
function(error, response){
// code goes here
}
)
```

### Delete Subscription
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| options | object | yes    | an object containing three keys: subscriberUuid, emitterUuid, and type |
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.deleteSubscription(
{
subscriberUuid: 'fancy_uuid',
emitterUuid: 'another_fancy_uuid',
type: 'fancy_type'
},
function(error, response){
// code goes here
}
)
```

### Delete Subscriptions
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| options | object | yes    | an object containing three keys: subscriberUuid, emitterUuid, and type. Type and emitterUuid are optional and will be used to filter the subscriptions to delete. |
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.deleteSubscriptions(
{
subscriberUuid: 'fancy_uuid',
emitterUuid: 'another_fancy_uuid',
type: 'fancy_type'
},
function(error, response){
// code goes here
}
)
```

### Device
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.device('fancy_uuid', {as: 'another_user_uuid'}, function(error, response){
// code goes here
})
```

### Devices
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| query | object | no     | an object containing the keys you want to search for |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.devices({type: 'drone'}, {as: 'another_user_uuid'}, function(error, response){
// code goes here
})
```

### Find And Update
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| params | object | yes    | an object containing the new changes to the device |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.findAndUpdate('fancy_uuid', {type: 'new-type'}, function(error, response){
// code goes here
})
```

### Generate And Store Token
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.generateAndStoreToken('fancy_uuid', function(error, response){
// code goes here
})
```

### Generate And Store Token With Options
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| options | object | no | an object containing the options for the token |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.generateAndStoreTokenWithOptions('fancy_uuid', {expiresOn: '1485452874'},
function(error, response){
// code goes here
}
)
```

### Generate Key Pair
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| none | |     | |
------------------------------------------
```javascript
meshbluHttp.generateKeyPair()
```

### Health Check
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| callback |function| yes    | a function that returns error, healthy, and code |
------------------------------------------
```javascript
meshbluHttp.healthcheck(function(error, healthy, code){
// code goes here
})
```

### Message
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| message | object | yes | an object containing the message to send |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.message({data: 'hello_message'}, function(error, response){
// code goes here
})
```

### My Devices
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| query | object | no    | an object containing your query |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.mydevices({type: 'drone'}, function(error, response){
// code goes here
})
```

### Public Key
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.publicKey('fancy_uuid', function(error, response){
// code goes here
})
```

### Register
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| options | object | yes    | an object containing properties that you would like your device to have. Can be empty object|
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.register({color: 'blue'}, function(error, response){
// code goes here
})
```

### Reset Token
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.resetToken('fancy_uuid', function(error, response){
// code goes here
})
```

### Revoke Token
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| token | string | yes    | a string containing the token of the device |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.revokeToken('fancy_uuid', 'fancy_token', function(error, response){
// code goes here
})
```

### Revoke Token By Query
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| query | object | yes    | an object containing your query |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.revokeTokenByQuery('fancy_uuid', {expiresOn: '1485452874'},
function(error, response){
// code goes here
}
)
```

### Search
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| query | object | yes    | an object containing your query |
| metadata | object | yes   | an object containing metadata information. Can be left empty |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.search({type: 'drone'}, {as: 'another_uuid'},
function(error, response){
// code goes here
}
)
```

### Search Tokens
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| query | object | yes    | an object containing your query |
| metadata | object | yes   | an object containing metadata information. Can be left empty |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.searchTokens({expiresOn: '1485452874'}, {as: 'another_uuid'},
function(error, response){
// code goes here
}
)
```

### Set Private Key
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| privateKey| string/object | yes   | a string or object containing your privateKey |
------------------------------------------
```javascript
meshbluHttp.setPrivateKey(privateKey)
```

### Sign
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| data     | object | yes    | an object containing the data you want to sign your privateKey with |
------------------------------------------
```javascript
meshbluHttp.sign(data)
```

### Subscriptions
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid of the device |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.subscriptions('fancy_uuid', {as: 'another_uuid'},
function(error, response){
// code goes here
}
)
```

### Unregister
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| device | object | yes    | an object containing the device credentials |
| callback |function| yes    | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.unregister({uuid: 'abc', token: 'asd'}, function(error, response){
// code goes here
})
```

### Update
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| uuid | string | yes    | a string containing the uuid |
| params | object | yes    | an object containing the new changes to the device |
| metadata | object | no    | an object containing metadata information |
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.update('fancy_uuid', {color: 'green'}, function(error, response){
// code goes here
})
```

### Verify
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| message | string/object | yes    | data for encrypting |
| signature | string | yes    | this can be obtained from sign() |
------------------------------------------
```javascript
meshbluHttp.verify(message, signature)
```

### Whoami
| Parameter | Type | Required| Description |
| ----------| -------| --------| -------------------------------------|
| callback |function| yes | a function that returns error and response |
------------------------------------------
```javascript
meshbluHttp.whoami(function(error, response){
// code goes here
})
```