diff options
Diffstat (limited to 'index.js')
| -rw-r--r-- | index.js | 39 |
1 files changed, 29 insertions, 10 deletions
@@ -28,17 +28,36 @@ site.init = function(){ console.log('Cortex listening at http://localhost:%s', server.address().port) }) - const folders = crud(app, 'folder', db.Folder) - const files = crud(app, 'file', db.File) - const jobs = crud(app, 'job', db.Job) - const tasks = crud(app, 'task', db.Task) + const api_folders = crud(app, 'folder', db.Folder) + const api_files = crud(app, 'file', db.File) + const api_jobs = crud(app, 'job', db.Job) + const api_tasks = crud(app, 'task', db.Task) app.post('/folders/:id', upload.array('file'), function(req, res){ - // move files to data/id - console.log(req.files) - req.files.forEach( (file) => { + if ( ! req.files ) return; + let loaded = {}; + ( req.files || [] ).forEach( (file) => { + loaded[file.filename] = false + const fn = file.originalname + fs.rename(file.path, 'public/data/' + req.params.id + '/' + fn, function(){ + api_files.create({ + // table.string('username') + 'folder_id': req.params.id, + 'name': fn, + 'size': file.size, + 'generated': false, + 'processed': false, + }).then( (file) => { + loaded[file.filename] = file.toJSON() + if (Object.keys(loaded).some( el => !! el )) { + res.json( Object.keys(loaded).map(k=>loaded[k]).sort((a,b) => { b.id - a.id }) ) + } + }).catch( (err) => { + console.warn(err) + res.sendStatus(500) + }) + }) }) - res.send(200) }) function crud(app, type_s, model){ @@ -51,7 +70,7 @@ site.init = function(){ app.get(type, (req, res) => { console.log('index', type) crud.index(req.query).then( (data) => { - console.log(data) + // console.log(data) res.json(data ? data.toJSON() : []) }) // }).catch( () => res.sendStatus(500) ) @@ -61,7 +80,7 @@ site.init = function(){ app.get(type_id, (req, res) => { console.log('show', type, req.params.id) crud.show(req.params.id).then( (data) => { - console.log(data) + // console.log(data) res.json(data.toJSON()) })// .catch( (err) => res.sendStatus(500) ) }) |
