meshblu-server-http
Version:
Maybe. Unofficial. You know how it is.
59 lines (44 loc) • 1.96 kB
text/coffeescript
debug = require('debug')('meshblu-server-http:search-device-controller')
_ = require 'lodash'
JobToHttp = require '../helpers/job-to-http'
class SearchDeviceController
constructor: ({, }) ->
mydevices: (req, res) =>
job = req
job.data.owner = job.metadata.fromUuid
debug('dispatching request mydevices', job)
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
res.status(jobResponse.metadata.code).send devices: JSON.parse jobResponse.rawData
searchV1: (req, res) =>
job = req
debug('dispatching request v1', job)
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
res.status(jobResponse.metadata.code).send devices: JSON.parse jobResponse.rawData
searchV2: (req, res) =>
job = req
debug('dispatching request v2', job)
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
.sendJobResponse {jobResponse, res}
searchV3: (req, res) =>
job = .httpToJob jobType: 'SearchDevices', request: req
debug('dispatching request v3', job)
.do 'request', 'response', job, (error, jobResponse) =>
return res.sendError error if error?
.sendJobResponse {jobResponse, res}
_oldFormatToJob: (req) =>
req.body = _.extend {}, req.body, req.query
job = .httpToJob jobType: 'SearchDevices', request: req
{uuid, token} = req.body
if req.body.online?
req.body.online = req.body.online == 'true'
_.each req.body, (value, key) =>
if value == 'null' || value == ''
req.body[key] = $exists: false
if uuid? and token?
job.metadata.auth = {uuid, token}
delete job.data.token
return job
module.exports = SearchDeviceController