meshblu-server-http
Version:
Maybe. Unofficial. You know how it is.
28 lines (22 loc) • 1.08 kB
text/coffeescript
MeshbluAuthParser = require '../helpers/meshblu-auth-parser'
debug = require('debug')('meshblu-server-http:authenticate-controller')
_ = require 'lodash'
class AuthenticateController
constructor: ({,}) ->
= new MeshbluAuthParser
check: (req, res) =>
job = .httpToJob jobType: 'Authenticate', request: req, toUuid: req.params.uuid
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
.sendJobResponse {jobResponse, res}
checkDevice: (req, res) =>
{uuid} = req.params
{token} = req.query
job = .httpToJob jobType: 'Authenticate', request: req
job.metadata.auth = {uuid, token}
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
{code} = jobResponse.metadata
return res.status(code).send JSON.parse jobResponse.rawData unless code == 204
res.status(200).send(uuid: uuid, authentication: true)
module.exports = AuthenticateController