endo-core
Version:
Put some description here
35 lines (25 loc) • 1.29 kB
text/coffeescript
_ = require 'lodash'
debug = require('debug')('endo-core:messages-controller')
class MessagesController
constructor: ({, }) ->
create: (req, res) =>
route = req.get 'x-meshblu-route'
auth = req.meshbluAuth
message = req.body
respondTo = _.get message, 'metadata.respondTo'
debug 'create', auth.uuid
.getEndoByUuid auth.uuid, (error, endo) =>
debug 'credentialsDeviceService.getEndoByUuid', error
return {auth, error, res, route, respondTo} if error?
.send {auth, endo, message}, (error, response) =>
debug 'messagesService.send', error
return {auth, error, res, route, respondTo} if error?
.reply {auth, route, response, respondTo}, (error) =>
debug 'messagesService.reply', error
return {auth, error, res, route, respondTo} if error?
res.sendStatus 201
respondWithError: ({auth, error, res, route, respondTo}) =>
.replyWithError {auth, error, route, respondTo}, (newError) =>
return res.sendError newError if newError?
return res.sendError error
module.exports = MessagesController