diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-09-17 00:46:06 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-09-17 00:46:06 +0200 |
| commit | d5d76a51cf79238c3177aa507213191d279d45ed (patch) | |
| tree | e89bb1e6c39267b3eeccdab8d6d1d8a2dfd2b535 /app/server/db/model.js | |
| parent | d3e4bb3ed2585859a3adeb7eeff35b7c75ebd840 (diff) | |
signup works
Diffstat (limited to 'app/server/db/model.js')
| -rw-r--r-- | app/server/db/model.js | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/app/server/db/model.js b/app/server/db/model.js index dd851bf..c829c85 100644 --- a/app/server/db/model.js +++ b/app/server/db/model.js @@ -17,9 +17,8 @@ module.exports = function modelScope(type, db_model, _props) { crud: crud, index: (query) => { - - return new Promise( (resolve, reject) => { - crud.index(query).then( (data) => { + return new Promise((resolve, reject) => { + crud.index(query).then(data => { if (! props.hasOne) { resolve(data ? data.toJSON() : []) @@ -27,13 +26,13 @@ module.exports = function modelScope(type, db_model, _props) { else { let recs = data.toJSON() const loader = new Loader () - loader.onReady( () => { + loader.onReady(() => { // console.log(type, 'ready') resolve(recs) }) // console.log('hasOne') loader.register('hasOne') - Object.keys(props.hasOne).forEach( (key,i) => { + Object.keys(props.hasOne).forEach((key, i) => { loader.register(key) // console.log('register', key) const type = props.hasOne[key] @@ -45,7 +44,7 @@ module.exports = function modelScope(type, db_model, _props) { }) // console.log('\n\n%%%%%%%%%%%%%%%%%%%%%%%% index > hasOne ' + key + '\n\n\n') // console.log(recs.length, Object.keys(id_lookup).length) - db_crud(type).show_ids(Object.keys(id_lookup)).then( (sub_recs) => { + db_crud(type).show_ids(Object.keys(id_lookup)).then(sub_recs => { // console.log(key, 'sub_recs', sub_recs) const short_key = key.replace('_id','') sub_recs.toJSON().forEach(rec => { @@ -57,49 +56,51 @@ module.exports = function modelScope(type, db_model, _props) { }) loader.ready('hasOne') } - }) // }).catch( () => res.sendStatus(500) ) + }) }) }, - show: (id) => { - return new Promise( (resolve, reject) => { - crud.show(id).then( (data) => { - if (! props.hasOne) { + show: (id, field = 'id') => { + return new Promise((resolve, reject) => { + crud.show(id, field).then(data => { + if (!data) { + resolve() + } else if (! props.hasOne) { resolve(data.toJSON()) } else { let rec = data.toJSON() const loader = new Loader () - loader.onReady( () => { + loader.onReady(() => { resolve(rec) }) loader.register('hasOne') - Object.keys(props.hasOne).forEach( (key,i) => { + Object.keys(props.hasOne).forEach((key, i) => { loader.register(key) const type = props.hasOne[key] - db_crud(type).show(rec[key + '_id']).then( (sub_rec) => { + db_crud(type).show(rec[key + '_id']).then((sub_rec) => { rec[key] = sub_rec loader.ready(key) }) }) loader.ready('hasOne') } - }) // .catch( (err) => res.sendStatus(500) ) + }) }) }, findOrCreate: (data) => { - return new Promise( (resolve, reject) => { + return new Promise((resolve, reject) => { let query = Object.assign({}, data) query.limit = 1 - crud.index(query).then( (recs) => { + crud.index(query).then((recs) => { if (recs && recs.length) { const rec = recs.at(0) // console.log('found rec', data.name) return resolve(rec) } // console.log('creating rec', data.name) - model.create(data).then( (rec) => { + model.create(data).then((rec) => { resolve(rec) }) }) @@ -107,12 +108,12 @@ module.exports = function modelScope(type, db_model, _props) { }, create: (data) => { - return new Promise( (resolve, reject) => { + return new Promise((resolve, reject) => { const should_relay = data.should_relay === 'true' - crud.create( model.sanitize(data) ).then( (rec) => { + crud.create( model.sanitize(data) ).then((rec) => { resolve(rec.toJSON()) props.afterCreate && props.afterCreate(rec, should_relay) - }).catch( (e) => { + }).catch(e => { console.error('error creating', e) reject() }) @@ -121,10 +122,10 @@ module.exports = function modelScope(type, db_model, _props) { update: (id, data) => { // console.log('update', id) - return new Promise( (resolve, reject) => { - crud.update(id, model.sanitize(data)).then( (data) => { + return new Promise((resolve, reject) => { + crud.update(id, model.sanitize(data)).then(data => { resolve(data.toJSON()) - }).catch( (e) => { + }).catch(e => { console.error('error updating', e) reject() }) @@ -132,7 +133,7 @@ module.exports = function modelScope(type, db_model, _props) { }, destroy: (id) => { - return new Promise( (resolve, reject) => { + return new Promise((resolve, reject) => { crud.show(id).then( data => { if (! data) { console.error('no record found', id) @@ -141,9 +142,9 @@ module.exports = function modelScope(type, db_model, _props) { if (type === 'file') { upload.destroyFile(data) } - crud.destroy(id).then( (destroyData) => { + crud.destroy(id).then((destroyData) => { resolve(data.toJSON()) - })// .catch( () => res.sendStatus(500) ) + }) }) }) }, |
