1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-05 10:39:25 +02:00

add remoteDebugUrl into database so that it is accessible from api

This commit is contained in:
Vishal Banthia 2015-12-07 19:36:56 +09:00
parent c9a9d3cb06
commit 232163d290
5 changed files with 60 additions and 0 deletions

View file

@ -151,6 +151,8 @@ dbapi.saveDeviceInitialState = function(serial, device) {
, statusChangedAt: r.now()
, ready: false
, reverseForwards: []
, remoteConnect: false
, remoteDebugUrl: null
}
return db.run(r.table('devices').get(serial).update(data))
.then(function(stats) {
@ -163,6 +165,20 @@ dbapi.saveDeviceInitialState = function(serial, device) {
})
}
dbapi.setDeviceConnectUrl = function(serial, url) {
return db.run(r.table('devices').get(serial).update({
remoteDebugUrl: url
, remoteConnect: true
}))
}
dbapi.unsetDeviceConnectUrl = function(serial, url) {
return db.run(r.table('devices').get(serial).update({
remoteDebugUrl: null
, remoteConnect: false
}))
}
dbapi.saveDeviceStatus = function(serial, status) {
return db.run(r.table('devices').get(serial).update({
status: status

View file

@ -142,6 +142,15 @@ module.exports = syrup.serial()
channel
, reply.okay(url)
])
// Update DB
push.send([
wireutil.global
, wireutil.envelope(new wire.ConnectStartedMessage(
options.serial
, url
))
])
log.info('Remote Connect Started for device "%s" at "%s"', options.serial, url)
})
.catch(function(err) {
log.error('Unable to start remote connect service', err.stack)
@ -159,6 +168,14 @@ module.exports = syrup.serial()
channel
, reply.okay()
])
// Update DB
push.send([
wireutil.global
, wireutil.envelope(new wire.ConnectStoppedMessage(
options.serial
))
])
log.info('Remote Connect Stopped for device "%s"', options.serial)
})
.catch(function(err) {
log.error('Failed to stop connect service', err.stack)

View file

@ -165,6 +165,12 @@ module.exports = function(options) {
)
})
})
.on(wire.ConnectStartedMessage, function(channel, message, data) {
dbapi.setDeviceConnectUrl(message.serial, message.url)
})
.on(wire.ConnectStoppedMessage, function(channel, message, data) {
dbapi.unsetDeviceConnectUrl(message.serial)
})
.on(wire.JoinGroupMessage, function(channel, message, data) {
dbapi.setDeviceOwner(message.serial, message.owner)
appDealer.send([channel, data])

View file

@ -54,10 +54,20 @@ datautil.applyOwner = function(device, user) {
return device
}
// Only owner can see this information
datautil.applyOwnerOnlyInfo = function(device, user) {
if (device.owner && device.owner.email === user.email) {
} else {
device.remoteConnect = false
device.remoteDebugUrl = null
}
}
datautil.normalize = function(device, user) {
datautil.applyData(device)
datautil.applyBrowsers(device)
datautil.applyOwner(device, user)
datautil.applyOwnerOnlyInfo(device, user)
if (!device.present) {
device.owner = null
}

View file

@ -76,6 +76,17 @@ enum MessageType {
ReverseForwardsEvent = 72;
FileSystemListMessage = 81;
FileSystemGetMessage = 82;
ConnectStartedMessage = 92;
ConnectStoppedMessage = 93;
}
message ConnectStartedMessage {
required string serial = 1;
required string url = 2;
}
message ConnectStoppedMessage {
required string serial = 1;
}
message FileSystemListMessage {