summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-26 16:41:38 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-26 16:41:38 +0200
commitfd1b25982b53083a17c8131bb734ecbfbdcb61e3 (patch)
tree4d0ed1a673b8f9eae8ff41d067a7a02ef7c2c6d7 /app
parent5a2aa1c87c341549aa43750db350bd41940491a7 (diff)
msg
Diffstat (limited to 'app')
-rw-r--r--app/client/socket/socket.api.js19
-rw-r--r--app/server/bridge.js2
-rw-r--r--app/server/site.js5
3 files changed, 20 insertions, 6 deletions
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) => {