1 | MeshbluAuthParser = require '../helpers/meshblu-auth-parser'
|
2 | debug = require('debug')('meshblu-server-http:authenticate-controller')
|
3 | _ = require 'lodash'
|
4 |
|
5 | class 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 |
|
27 | module.exports = AuthenticateController
|