UNPKG

1.08 kBtext/coffeescriptView Raw
1MeshbluAuthParser = require '../helpers/meshblu-auth-parser'
2debug = require('debug')('meshblu-server-http:authenticate-controller')
3_ = require 'lodash'
4
5class AuthenticateController
6 constructor: ({@jobManager,@jobToHttp}) ->
7 @authParser = new MeshbluAuthParser
8
9 check: (req, res) =>
10 job = @jobToHttp.httpToJob jobType: 'Authenticate', request: req, toUuid: req.params.uuid
11
12 @jobManager.do 'request', 'response', job, (error, jobResponse) =>
13 return res.sendError error if error?
14 @jobToHttp.sendJobResponse {jobResponse, res}
15
16 checkDevice: (req, res) =>
17 {uuid} = req.params
18 {token} = req.query
19 job = @jobToHttp.httpToJob jobType: 'Authenticate', request: req
20 job.metadata.auth = {uuid, token}
21 @jobManager.do 'request', 'response', job, (error, jobResponse) =>
22 return res.sendError error if error?
23 {code} = jobResponse.metadata
24 return res.status(code).send JSON.parse jobResponse.rawData unless code == 204
25 res.status(200).send(uuid: uuid, authentication: true)
26
27module.exports = AuthenticateController