diff --git a/src/libs/middlewares/downloadDatabase.js b/src/libs/middlewares/downloadDatabase.js index 042a5e59aa088bc791908859c96fec6d963240fa..421b76034d60a3cee65e0cd31f338a99fe31ae06 100644 --- a/src/libs/middlewares/downloadDatabase.js +++ b/src/libs/middlewares/downloadDatabase.js @@ -8,6 +8,8 @@ const request = require(`request`); const config = require(`${libs}/config`); +const Download = require(`${libs}/models/download`); + module.exports = function download(table, mappingTable) { return (req, res, next) => { // First, query the mapping @@ -38,7 +40,26 @@ module.exports = function download(table, mappingTable) { log.error(err); return res.json({error: err}); } - res.json({msg: 'Wait for download email', waitForIt: true}); + + Download.findOne({query: req.sql.toString()}, (err, download) => { + if(download) { + download.updatedAt = Date.now(); + } else { + download = new Download({ + userId: req.user._id, + table, + mappingTable, + query: req.sql.toString() + }); + } + + download.save((err) => { + if(err) { + log.error(err); + } + res.json({msg: 'Wait for download email', waitForIt: true}); + }); + }); }); } });