resin-register-device
Resin.io device registration utilities.
Installation
Install resin-register-device
by running:
$ npm install --save resin-register-device
Documentation
Resin-Register-Device exports a factory function, which must be called with a dependencies object, containing a configured resin-request
instance.
Example:
deviceRegister = require'resin-register-device' request: request # An instantiated resin-request instance
deviceRegister.generateUniqueKey()
Generate a random key, useful for both uuid and api key.
Example:
randomKey = deviceRegistergenerateUniqueKey# randomKey is a randomly generated key that can be used as either a uuid or an api key consolelograndomKey
deviceRegister.register(Object options, Function callback)
Register a device with Resin.io.
Notice: You can use this function as a promise if you omit the callback
argument.
The options
object requires the following properties:
Number userId
: The user id.Number applicationId
: The application id.String uuid
: The device's UUID.String deviceType
: The device type slug.String deviceApiKey
: The API key to create for the newly registered device.String provisioningApiKey
: The provisioning API Key.String apiEndpoint
: The API endpoint.
The callback
gets called with two arguments: (error, deviceInfo)
, where deviceInfo
is an object containing one property: the id
for the device that was just registered.
Example:
deviceRegisterregister userId: 199 applicationId: 10350 uuid: '...' deviceType: 'raspberry-pi' deviceApiKey: '...' provisioningApiKey: '...' apiEndpoint: 'https://api.resin.io' throw error if error? consolelogdeviceInfo # { id }
Tests
Run the test suite by doing:
$ npm test
Contribute
- Issue Tracker: github.com/resin-io-modules/resin-register-device/issues
- Source Code: github.com/resin-io-modules/resin-register-device
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ npm run lint
Support
If you're having any problem, please raise an issue on GitHub.
License
The project is licensed under the Apache 2.0 license.