diff options
Diffstat (limited to 'bucky/db/index.js')
| -rw-r--r-- | bucky/db/index.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bucky/db/index.js b/bucky/db/index.js index b10e3d8..350f2a4 100644 --- a/bucky/db/index.js +++ b/bucky/db/index.js @@ -152,6 +152,27 @@ db.createFile = function(data){ } db.destroyFile = function(id){ } +db.moveFile = function(file, thread_id){ + var s3client = upload.client() + var srcPath = '/bucky/data/' + file.get('thread') + '/' + file.get('filename') + var destPath = '/bucky/data/' + thread_id + '/' + file.get('filename') + var copyPromise = new Promise((resolve, reject) => { + s3client.copy(srcPath, destPath).on('response', function(res){ + s3client.deleteFile(srcPath, function(err, res){ + if (err) { + return reject(err) + } + file.set('thread', thread_id) + file.save().then(() => { + resolve() + }).catch(err => { + reject(err) + }) + }) + }).end() + }) + return copyPromise +} db.destroyFiles = function(files){ var s3client = upload.client() var rmPromises = files.map((file) => { |
