UNPKG

1.75 kBtext/coffeescriptView Raw
1debug = require('debug')('meshblu-server-http:search-device-controller')
2_ = require 'lodash'
3JobToHttp = require '../helpers/job-to-http'
4
5class 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
50module.exports = SearchDeviceController