UNPKG

docparse-upload-process

Version:

process upload api request for the docparse server

49 lines (44 loc) 1.29 kB
var request = require('request'); var Supplier = require('docparse-supplier'); var Upload = require('docparse-upload'); var moment = require('moment'); var inspect = require('eyespect').inspector(); var fs = require('fs'); var async = require('async'); var rk = require('required-keys'); /** * @param {Object} data should have the following fields * @param {Upload} data.upload * @param {User} data.user */ module.exports = function(data, cb) { var keys = ['user', 'upload']; rk.truthy(data, keys, function (err) { if (err) { return cb(err); } // upload exists but user is not linked in the "user_details" field. var user = data.user; var upload = data.upload; var userID = user._id.toString(); var details = getUserDetailsInUpload(userID, upload); if (!details) { upload.user_details.push({ userID: userID, date_uploaded: moment(), filename: data.filename }) } if (upload.users.indexOf(userID) === -1) { upload.users.push(userID); } upload.save(cb); }); } function getUserDetailsInUpload(userID, upload) { var allDetails = upload.toObject().user_details; for (var i in allDetails) { var details = allDetails[i]; if (details.userID === userID) { return details; } } }