fix closing of device

Cette révision appartient à :
AJ ONeal 2018-08-21 03:12:53 +00:00
Parent 8be4d35698
révision 9e06faa581
1 fichiers modifiés avec 6 ajouts et 7 suppressions

Voir le fichier

@ -18,6 +18,9 @@ Devices.add = function (store, servername, newDevice, isPort) {
// add device
// TODO only use a device id
var devId = newDevice.id || servername;
if (!newDevice.__servername) {
newDevice.__servername = servername;
}
if (!store._devices) { store._devices = {}; }
if (!store._devices[devId]) {
store._devices[devId] = newDevice;
@ -63,21 +66,17 @@ Devices.remove = function (store, servername, device) {
return devices.splice(index, 1)[0];
};
Devices.close = function (store, device) {
var dev = store._devices[device.id];
var id = device.id;
var dev = store._devices[device.id || device.__servername];
// because we're actually using names rather than don't have reliable deviceIds yet
if (!dev) {
Object.keys(store._devices[device.id]).some(function (key) {
Object.keys(store._devices).some(function (key) {
if (store._devices[key].socketId === device.socketId) {
id = key;
// TODO double check that all domains are removed
delete store._devices[key];
return true;
}
});
}
// TODO double check that all domains are removed
if (id) { delete store._devices[id]; }
};
Devices.bySocket = function (store, socketId) {
var dev;