meshblu-verifier-http
Version:
Verify Meshblu over HTTP
68 lines (54 loc) • 2.04 kB
text/coffeescript
async = require 'async'
debug = require('debug')('meshblu-verifier-http:verifier')
_ = require 'lodash'
MeshbluHttp = require 'meshblu-http'
class Verifier
constructor: ({, }) ->
?= Date.now()
= new MeshbluHttp
verify: (callback) =>
async.series [
], callback
_message: (callback) =>
debug '_message'
.message devices: [.uuid], payload: , (error) =>
return callback error, 'message' if error?
return callback()
_register: (callback) =>
debug '_register'
.register type: 'meshblu:verifier', (error, ) =>
return callback error, 'register' if error?
= _.defaults _.pick(, 'uuid', 'token'),
= new MeshbluHttp
callback()
_unregister: (callback) =>
debug '_unregister'
return callback((new Error('@device is missing'), 'unregister')) unless ?
.unregister , (error) =>
return callback error, 'unregister' if error?
callback()
_update: (callback) =>
return callback((new Error('@device is missing'), 'update')) unless ?
params =
uuid: .uuid
nonce:
.update .uuid, params, (error) =>
return callback error, 'update' if error?
.whoami (error, data) =>
return callback error, 'update' if error?
return callback new Error('update failed'), 'update' unless data?.nonce ==
callback()
_whoami: (callback) =>
debug '_whoami'
.whoami (error) =>
return callback error, 'whoami' if error?
callback()
_injectStep: (error, step) =>
error.step = step
return error
module.exports = Verifier