From a19d368924ca7a4d5aafe7b35950713a69f83f73 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Tue, 10 Oct 2017 10:40:15 -0300
Subject: [PATCH] Save user download

---
 src/libs/middlewares/downloadDatabase.js | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/libs/middlewares/downloadDatabase.js b/src/libs/middlewares/downloadDatabase.js
index 042a5e59..421b7603 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});
+                        });
+                    });
                 });
             }
         });
-- 
GitLab