diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-22 16:15:55 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-22 16:15:55 +0200 |
| commit | cdcb1403e6ffeda50d0bb0ca5aab4ac68978069f (patch) | |
| tree | e4575979a279fcb916a5bec3e2bab42095f26c5f /app | |
| parent | 43638023bd08a892f6b661fef03cf1805d9d42ae (diff) | |
deleting files will delete on s3
Diffstat (limited to 'app')
| -rw-r--r-- | app/server/db/model.js | 4 | ||||
| -rw-r--r-- | app/server/util/upload.js | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/app/server/db/model.js b/app/server/db/model.js index 98cca41..c5faf03 100644 --- a/app/server/db/model.js +++ b/app/server/db/model.js @@ -1,5 +1,6 @@ const Loader = require('./loader') const db_crud = require('./crud') +const upload = require('../util/upload') module.exports = function modelScope(type, db_model, _props) { @@ -136,6 +137,9 @@ module.exports = function modelScope(type, db_model, _props) { console.error('no record found', id) return reject('no record found') } + if (type === 'file') { + upload.destroyFile(data) + } crud.destroy(id).then( (destroyData) => { resolve(data.toJSON()) })// .catch( () => res.sendStatus(500) ) diff --git a/app/server/util/upload.js b/app/server/util/upload.js index fdda98d..1511830 100644 --- a/app/server/util/upload.js +++ b/app/server/util/upload.js @@ -127,3 +127,12 @@ module.exports.put = function (opt) { s3res && s3res.resume && s3res.resume() }) } + +module.exports.destroyFile = function(file){ + if (file.url.indexOf(process.env.S3_PATH) === -1) return + console.log('delete', file.url) + s3.deleteFile(file.url, function(err, res){ + console.log('file deleted!') + // check `err`, then do `res.pipe(..)` or `res.resume()` or whatever. + }) +} |
