From e60e09355889554f474fd74ef3878250201ada5d Mon Sep 17 00:00:00 2001 From: Ben West Date: Tue, 26 Nov 2024 17:13:47 -0800 Subject: [PATCH] adjust websockets usage for mongo update --- lib/client/renderer.js | 2 ++ lib/server/websocket.js | 25 ++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index ba848303a9f..2be01d8ffa9 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -757,6 +757,8 @@ function init (client, d3) { chart().basals.attr('display', 'none'); operation = 'Move'; + var x = Math.min(Math.max(0, d3.event.x), chart().charts.attr('width')); + newTime = new Date(chart().xScale.invert(x)); }) .on('drag', function() { //console.log(d3.event); diff --git a/lib/server/websocket.js b/lib/server/websocket.js index bf5671e3018..f9e1d2fa606 100644 --- a/lib/server/websocket.js +++ b/lib/server/websocket.js @@ -302,6 +302,7 @@ function init (env, ctx, server) { // field_2: another_value // } // } + // TODO: tests, data models socket.on('dbAdd', function dbAdd (data, callback) { console.log(LOG_WS + 'dbAdd client ID: ', socket.client.id, ' data: ', data); var collection = supportedCollections[data.collection]; @@ -405,20 +406,22 @@ function init (env, ctx, server) { } // if not found create new record console.log(LOG_DEDUP + 'Adding new record'); - ctx.store.collection(collection).insert(data.data, function insertResult (err, doc) { + ctx.store.collection(collection).insertOne(data.data, function insertResult (err, ops) { if (err != null && err.message) { console.log('treatments data insertion error: ', err.message); return; } + var doc = data.data; + doc._id = ops.insertedId; ctx.bus.emit('data-update', { type: data.collection , op: 'update' - , changes: ctx.ddata.processRawDataForRuntime(doc.ops) + , changes: ctx.ddata.processRawDataForRuntime([doc]) }); if (callback) { - callback(doc.ops); + callback([doc]); } ctx.bus.emit('data-received'); }); @@ -453,38 +456,42 @@ function init (env, ctx, server) { }); - ctx.store.collection(collection).insert(data.data, function insertResult (err, doc) { + ctx.store.collection(collection).insertOne(data.data, function insertResult (err, ops) { if (err != null && err.message) { console.log('devicestatus insertion error: ', err.message); return; } + var doc = data.data; + doc._id = ops.insertedId; ctx.bus.emit('data-update', { type: 'devicestatus' , op: 'update' - , changes: ctx.ddata.processRawDataForRuntime(doc.ops) + , changes: ctx.ddata.processRawDataForRuntime([doc]) }); if (callback) { - callback(doc.ops); + callback([doc]); } ctx.bus.emit('data-received'); }); } else { - ctx.store.collection(collection).insert(data.data, function insertResult (err, doc) { + ctx.store.collection(collection).insertOne(data.data, function insertResult (err, ops) { if (err != null && err.message) { console.log(data.collection + ' insertion error: ', err.message); return; } + var doc = data.data; + doc._id = ops.insertedId; ctx.bus.emit('data-update', { type: data.collection , op: 'update' - , changes: ctx.ddata.processRawDataForRuntime(doc.ops) + , changes: ctx.ddata.processRawDataForRuntime([doc]) }); if (callback) { - callback(doc.ops); + callback([doc]); } ctx.bus.emit('data-received'); });