Make sure we only have one forward per port.

This commit is contained in:
Simo Kinnunen
2014-04-16 15:14:01 +09:00
parent 4299ed3aa0
commit 07217f9a39

View File

@@ -35,14 +35,16 @@ dbapi.loadUser = function(email) {
dbapi.addUserForward = function(email, forward) {
return db.run(r.table('users').get(email).update({
forwards: r.row('forwards').default([]).append(forward)
forwards: r.row('forwards').default([]).filter(function(forward) {
return forward('devicePort').ne(devicePort)
}).append(forward)
}))
}
dbapi.removeUserForward = function(email, devicePort) {
return db.run(r.table('users').get(email).update({
forwards: r.row('forwards').default([]).filter(function(forward) {
return forward('devicePort').eq(devicePort)
return forward('devicePort').ne(devicePort)
})
}))
}