MCPcopy
hub / github.com/openstf/stf / askUpdateDeviceOriginGroup

Function askUpdateDeviceOriginGroup

lib/units/api/controllers/devices.js:301–331  ·  view source on GitHub ↗
(group, serial)

Source from the content-addressed store, hash-verified

299 const lock = {}
300
301 function askUpdateDeviceOriginGroup(group, serial) {
302 return new Promise(function(resolve, reject) {
303 const signature = util.format('%s', uuid.v4()).replace(/-/g, '')
304 let messageListener
305 const responseTimer = setTimeout(function() {
306 req.options.channelRouter.removeListener(wireutil.global, messageListener)
307 apiutil.respond(res, 504, 'Gateway Time-out')
308 reject('timeout')
309 }, 5000)
310
311 messageListener = wirerouter()
312 .on(wire.DeviceOriginGroupMessage, function(channel, message) {
313 if (message.signature === signature) {
314 clearTimeout(responseTimer)
315 req.options.channelRouter.removeListener(wireutil.global, messageListener)
316 dbapi.loadDeviceBySerial(serial).then(function(device) {
317 if (fields) {
318 resolve(_.pick(apiutil.publishDevice(device, req.user), fields.split(',')))
319 }
320 else {
321 resolve(apiutil.publishDevice(device, req.user))
322 }
323 })
324 }
325 })
326 .handler()
327
328 req.options.channelRouter.on(wireutil.global, messageListener)
329 return dbapi.askUpdateDeviceOriginGroup(serial, group, signature)
330 })
331 }
332
333 function updateDeviceOriginGroup(group, serial) {
334 const lock = {}

Callers 1

updateDeviceOriginGroupFunction · 0.85

Calls 2

rejectFunction · 0.85
resolveFunction · 0.85

Tested by

no test coverage detected