diff --git a/.gitignore b/.gitignore index 77c66c4..dd9aa1c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ client/build keys.js client/dist/** out -data/siteData.txt \ No newline at end of file +data/siteData.txt +backup.json \ No newline at end of file diff --git a/server/helpers/backupDB.js b/server/helpers/backupDB.js new file mode 100644 index 0000000..832efcf --- /dev/null +++ b/server/helpers/backupDB.js @@ -0,0 +1,29 @@ + +var Promise = require('bluebird'); +var People = require('../database/people/model'); +var twitterController = require('../database/twitter/controller'); +var contextController = require('../database/context/controller'); +var sitesController = require('../database/sites/controller'); +var facebookController = require('../database/facebook/controller'); +var topController = require('../database/top/controller'); +var fs = require('fs-utils'); + +module.exports = function() { + return People.findAll() + .then(function(data) { + var promiseArray = []; + data.forEach(function(person) { + promiseArray.push(twitterController.attachData(person.get()) + .then(contextController.attachData) + .then(sitesController.attachData) + .then(facebookController.attachData) + .then(topController.attachData)); + }); + + return Promise.all(promiseArray); + }).then(function(data) { + fs.writeJSONSync('./data/backup.json', {people: data}); + }); +}; + +module.exports(); \ No newline at end of file