diff options
Diffstat (limited to 'bucky/db/index.js')
| -rw-r--r-- | bucky/db/index.js | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/bucky/db/index.js b/bucky/db/index.js index 0ce6e5f..9e01e9b 100644 --- a/bucky/db/index.js +++ b/bucky/db/index.js @@ -3,7 +3,7 @@ var db = module.exports var connection = require("./bookshelf") var bookshelf = connection.bookshelf var knex = connection.knex - +var upload = require('../util/upload') /* MODELS */ @@ -103,6 +103,28 @@ db.createFile = function(data){ } db.destroyFile = function(id){ } +db.destroyFiles = function(files){ + var s3client = upload.client() + var rmPromises = files.map((file) => { + return new Promise ((resolve, reject) => { + var thread_id = file.get('thread') + var filename = file.get('filename') + if (! thread_id || ! filename) { + return resolve() + } + var filePath = '/bucky/data/' + thread_id + '/' + filename + console.log(filePath) + s3client.deleteFile(filePath, function(err, res){ + // check `err`, then do `res.pipe(..)` or `res.resume()` or whatever. + resolve() + }) + }) + }) + var filePromises = files.map((file) => { + return file.destroy() + }) + return Promise.all(rmPromises.join(filePromises)) +} /* COMMENTS */ |
