UNPKG

docparse-api

Version:

api server for the docparse project

65 lines (59 loc) 1.84 kB
var inspect = require('eyespect').inspector(); var restify = require('restify'); /** * Prepare an upload api create request for use in the docparse-upload-process module */ module.exports = function(req, res, data) { var config = data.config; var logger = data.logger; var create = data.create; if (!create) { create = require('docparse-upload-create'); } var createData = req.params || {}; createData.files = req.files; createData.userID = req.user._id.toString(); if (!req.files) { logger.info('user called upload create api without attaching a file', { type: 'api', userID: createData.userID }); return res.send(new restify.InternalError('files field not set')); } if (!req.files.upload) { logger.info('req.files.upload is null when user called upload create ', { type: 'api', userID: createData.userID }); return res.send(new restify.InternalError('files.upload field not set')); } if (!req.files.upload.path) { logger.info('req.files.upload.path is null when user called upload create ', { type: 'api', userID: createData.userID }); return res.send(new restify.InternalError('files.upload.path field not set')); } createData.filePath = req.files.upload.path; createData.user = req.user; createData.config = config; createData.logger = logger; create(createData, function (err, reply) { if (err) { logger.info('error in upload create api', { type: 'api', userID: createData.userID, error: err }); return res.send(new restify.InternalError(JSON.stringify(err))); } logger.debug('create api request processed', { type: 'api', userID: createData.userID }); if (reply.toObject) { reply = reply.toObject(); } res.send(reply); }); };