summaryrefslogtreecommitdiff
path: root/lib/db/model.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2017-07-21 04:48:52 +0200
committerJules Laplace <julescarbon@gmail.com>2017-07-21 04:48:52 +0200
commitd41070c7b00fafc974a1a6e7b6d1b42391fa57ed (patch)
tree4178eba89627e8581cdc5eea65bf7f11591f6b45 /lib/db/model.js
parentd02cbad01f3abfa8a1aad0b55b8bd9cf544090cf (diff)
all async paths working
Diffstat (limited to 'lib/db/model.js')
-rw-r--r--lib/db/model.js24
1 files changed, 13 insertions, 11 deletions
diff --git a/lib/db/model.js b/lib/db/model.js
index 1f729f6..fae7691 100644
--- a/lib/db/model.js
+++ b/lib/db/model.js
@@ -27,14 +27,14 @@ module.exports = function modelScope(type, db_model, _props) {
let recs = data.toJSON()
const loader = new Loader ()
loader.onReady( () => {
- console.log(type, 'ready')
+ // console.log(type, 'ready')
resolve(recs)
})
- console.log('hasOne')
+ // console.log('hasOne')
loader.register('hasOne')
Object.keys(props.hasOne).forEach( (key,i) => {
loader.register(key)
- console.log('register', key)
+ // console.log('register', key)
const type = props.hasOne[key]
const id_lookup = {}
recs.forEach(r => {
@@ -50,7 +50,7 @@ module.exports = function modelScope(type, db_model, _props) {
sub_recs.toJSON().forEach(rec => {
id_lookup[rec.id].forEach( parent_rec => parent_rec[short_key] = rec )
})
- console.log('ready', key)
+ // console.log('ready', key)
loader.ready(key)
})
})
@@ -94,10 +94,10 @@ module.exports = function modelScope(type, db_model, _props) {
crud.index(query).then( (recs) => {
if (recs && recs.length) {
const rec = recs.at(0)
- console.log('found rec', data.name)
+ // console.log('found rec', data.name)
return resolve(rec)
}
- console.log('creating rec', data.name)
+ // console.log('creating rec', data.name)
model.create(data).then( (rec) => {
resolve(rec)
})
@@ -118,7 +118,7 @@ module.exports = function modelScope(type, db_model, _props) {
},
update: (id, data) => {
- console.log('update', id)
+ // console.log('update', id)
return new Promise( (resolve, reject) => {
crud.update(id, model.sanitize(data)).then( (data) => {
resolve(data.toJSON())
@@ -132,20 +132,22 @@ module.exports = function modelScope(type, db_model, _props) {
destroy: (id) => {
return new Promise( (resolve, reject) => {
crud.destroy(id).then( (data) => {
- res.json(data.toJSON())
+ resolve(data.toJSON())
})// .catch( () => res.sendStatus(500) )
})
},
sanitize: (data) => {
var valid = {}
- Object.keys(data).forEach(key => {
+ props.fields.forEach(key => {
if (props.hasOne[key]) {
return
}
- valid[key] = data[key]
+ if (key in data) {
+ valid[key] = data[key]
+ }
})
- console.log(valid)
+ // console.log(valid)
return valid
},