'use strict';
-var _ = require('lodash');
var Report = require('./report.model');
var User = require('../user/user.model');
var worker = require('../../components/worker');
});
};
+var createReportObject = function (files, id, user) {
+ // Create directory with ID for name
+ var dirname = appDir + "/components/worker/generator/input/" + id + "/";
+ utils.file.mkdirSync(dirname);
+
+ // Create content file - mandatory
+ var contentDest = fs.createWriteStream(dirname + files.content[0].originalname);
+ contentDest.write(files.content[0].buffer);
+
+ // Create signature file - optional
+ var sigGenerated = [];
+ if (files.signatures && files.signatures.length > 0) {
+ for (var i = 0; i < files.signatures.length; i++) {
+ var sigDest = fs.createWriteStream(dirname + files.signatures[i].originalname);
+ sigDest.write(files.signatures[i].buffer);
+ sigGenerated.push(dirname + files.signatures[i].originalname);
+ }
+ }
+
+ //Create object
+ return {
+ uuid: id,
+ user: user._id,
+ time: Date.now(),
+ referential: user.referential ? user.referential : {},
+ filename: files.content[0].originalname,
+ content: dirname + files.content[0].originalname,
+ signatures: sigGenerated,
+ isGenerated: false
+ };
+};
+
// Creates a new report in the DB and launch worker
exports.create = function (req, res) {
var userId = req.user._id;
return res.status(400).send('File Missing');
}
- // Generate ID
- var id = uuid.v4();
-
- // Create directory with ID for name
- var dirname = appDir + "/components/worker/generator/input/" + id + "/";
- utils.file.mkdirSync(dirname);
-
- // Create content file - mandatory
- var contentDest = fs.createWriteStream(dirname + req.files.content[0].originalname);
- contentDest.write(req.files.content[0].buffer);
-
- // Create signature file - optional
- var sigGenerated = [];
- if (req.files.signatures && req.files.signatures.length > 0) {
- for (var i = 0; i < req.files.signatures.length; i++) {
- var sigDest = fs.createWriteStream(dirname + req.files.signatures[i].originalname);
- sigDest.write(req.files.signatures[i].buffer);
- sigGenerated.push(dirname + req.files.signatures[i].originalname);
- }
- }
-
//Create object
- var generated = {
- uuid: id,
- user: user._id,
- time: Date.now(),
- referential: user.referential ? user.referential : {},
- filename: req.files.content[0].originalname,
- content: dirname + req.files.content[0].originalname,
- signatures: sigGenerated,
- isGenerated: false
- };
+ var generated = createReportObject(req.files, uuid.v4(), user);
Report.create(generated, function (err, report) {
if (err) {