1 | debug = require('debug')('meshblu-server-http:search-device-controller')
|
2 | _ = require 'lodash'
|
3 | JobToHttp = require '../helpers/job-to-http'
|
4 |
|
5 | class SearchDeviceController
|
6 | constructor: ({@jobManager, @jobToHttp}) ->
|
7 |
|
8 | mydevices: (req, res) =>
|
9 | job = @_oldFormatToJob req
|
10 | job.data.owner = job.metadata.fromUuid
|
11 |
|
12 | debug('dispatching request mydevices', job)
|
13 | @jobManager.do 'request', 'response', job, (error, jobResponse) =>
|
14 | return res.sendError error if error?
|
15 | res.status(jobResponse.metadata.code).send devices: JSON.parse jobResponse.rawData
|
16 |
|
17 | searchV1: (req, res) =>
|
18 | job = @_oldFormatToJob req
|
19 |
|
20 | debug('dispatching request v1', job)
|
21 | @jobManager.do 'request', 'response', job, (error, jobResponse) =>
|
22 | return res.sendError error if error?
|
23 | res.status(jobResponse.metadata.code).send devices: JSON.parse jobResponse.rawData
|
24 |
|
25 | searchV2: (req, res) =>
|
26 | job = @_oldFormatToJob req
|
27 |
|
28 | debug('dispatching request v2', job)
|
29 | @jobManager.do 'request', 'response', job, (error, jobResponse) =>
|
30 | return res.sendError error if error?
|
31 | @jobToHttp.sendJobResponse {jobResponse, res}
|
32 |
|
33 | searchV3: (req, res) =>
|
34 | job = @jobToHttp.httpToJob jobType: 'SearchDevices', request: req
|
35 |
|
36 | debug('dispatching request v3', job)
|
37 | @jobManager.do 'request', 'response', job, (error, jobResponse) =>
|
38 | return res.sendError error if error?
|
39 | @jobToHttp.sendJobResponse {jobResponse, res}
|
40 |
|
41 | _oldFormatToJob: (req) =>
|
42 | req.body = req.query
|
43 | job = @jobToHttp.httpToJob jobType: 'SearchDevices', request: req
|
44 | {uuid, token} = req.body
|
45 | if uuid? and token?
|
46 | job.metadata.auth = {uuid, token}
|
47 | delete job.data.token
|
48 | return job
|
49 |
|
50 | module.exports = SearchDeviceController
|