From fd1b25982b53083a17c8131bb734ecbfbdcb61e3 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 26 Jun 2018 16:41:38 +0200 Subject: msg --- app/client/socket/socket.api.js | 19 ++++++++++++++++--- app/server/bridge.js | 2 +- app/server/site.js | 5 +++-- 3 files changed, 20 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/client/socket/socket.api.js b/app/client/socket/socket.api.js index 11783a5..4ee0b75 100644 --- a/app/client/socket/socket.api.js +++ b/app/client/socket/socket.api.js @@ -12,21 +12,34 @@ socket.on('api_res', (data) => { return dispatch({ type: type.create, source: 'socket', - data: data.data, + data: parse(data.data), }) case 'update': return dispatch({ type: type.update, source: 'socket', - data: data.data, + data: parse(data.data), }) case 'destroy': return dispatch({ type: type.destroy, source: 'socket', - data: data.data, + data: parse(data.data), }) default: break } }) + +function parse (s) { + if (typeof s === 'string') { + try { + const d = JSON.parse(s) + return d + } catch (e) { + console.error('not valid json') + return s + } + } + return s +} \ No newline at end of file diff --git a/app/server/bridge.js b/app/server/bridge.js index 09e83b0..1a744a3 100644 --- a/app/server/bridge.js +++ b/app/server/bridge.js @@ -63,7 +63,7 @@ function bind_relay(socket) { db.models.file.update(data.task.opt.file_id, { dataset: data.task.dataset, }).then(file => { - client.emit('api_res', { type: 'update', datatype: 'file', data: file }) + client.emit('api_res', { type: 'update', datatype: 'file', data: JSON.stringify(file) }) }).catch(err => { console.error('error setting the dataset', err) }) diff --git a/app/server/site.js b/app/server/site.js index a7ad501..99f1e63 100644 --- a/app/server/site.js +++ b/app/server/site.js @@ -72,10 +72,11 @@ app.post('/api/folder/:id/upload/', api_files.create(data).then( (db_file) => { console.log(db_file) // console.log(req.body) - if (req.body.should_relay === "true" || req.body.generated === "true") { // if this came from an automated command... + // if this came from an automated command... + if (req.body.should_relay === "true" || req.body.generated === "true") { console.log('relaying...') const client = require('./bridge').client - client.emit('api_res', { type: 'create', datatype: 'file', data: db_file }) + client.emit('api_res', { type: 'create', datatype: 'file', data: JSON.stringify(db_file) }) } resolve(db_file) }).catch( (err) => { -- cgit v1.2.3-70-g09d2