From d4c036c29a11a538a86f564a6ede31faed36642b Mon Sep 17 00:00:00 2001 From: olivermrbl Date: Sat, 11 Jul 2020 22:44:57 +0200 Subject: [PATCH] Adds delete image --- .../src/services/digital-ocean.js | 34 +++++++++++++++---- .../api/routes/admin/uploads/delete-upload.js | 12 +++++++ .../src/api/routes/admin/uploads/index.js | 2 ++ 3 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 packages/medusa/src/api/routes/admin/uploads/delete-upload.js diff --git a/packages/medusa-file-spaces/src/services/digital-ocean.js b/packages/medusa-file-spaces/src/services/digital-ocean.js index efbc7864d8..a03e67fcce 100644 --- a/packages/medusa-file-spaces/src/services/digital-ocean.js +++ b/packages/medusa-file-spaces/src/services/digital-ocean.js @@ -15,20 +15,20 @@ class DigitalOceanService extends FileService { } upload(file) { - aws.config.setPromisesDependency(); + aws.config.setPromisesDependency() aws.config.update({ accessKeyId: this.accessKeyId_, secretAccessKey: this.secretAccessKey_, region: this.region_, endpoint: this.endpoint_, - }); + }) - const s3 = new aws.S3(); + const s3 = new aws.S3() var params = { - ACL: 'public-read', + ACL: "public-read", Bucket: this.bucket_, Body: fs.createReadStream(file.path), - Key: `${file.originalname}` + Key: `${file.originalname}`, } return new Promise((resolve, reject) => { @@ -44,7 +44,29 @@ class DigitalOceanService extends FileService { } delete(file) { - console.log(file) + aws.config.setPromisesDependency() + aws.config.update({ + accessKeyId: this.accessKeyId_, + secretAccessKey: this.secretAccessKey_, + region: this.region_, + endpoint: this.endpoint_, + }) + + const s3 = new aws.S3() + var params = { + Bucket: this.bucket_, + Key: `${file}`, + } + + return new Promise((resolve, reject) => { + s3.deleteObject(params, (err, data) => { + if (err) { + reject(err) + return + } + resolve(data) + }) + }) } } diff --git a/packages/medusa/src/api/routes/admin/uploads/delete-upload.js b/packages/medusa/src/api/routes/admin/uploads/delete-upload.js new file mode 100644 index 0000000000..fcc07651a2 --- /dev/null +++ b/packages/medusa/src/api/routes/admin/uploads/delete-upload.js @@ -0,0 +1,12 @@ +export default async (req, res) => { + try { + const fileService = req.scope.resolve("fileService") + + await fileService.delete(req.body.file) + + res.status(200).send("Deleted image") + } catch (err) { + console.log(err) + throw err + } +} diff --git a/packages/medusa/src/api/routes/admin/uploads/index.js b/packages/medusa/src/api/routes/admin/uploads/index.js index 27cc742961..27b90c9a5c 100644 --- a/packages/medusa/src/api/routes/admin/uploads/index.js +++ b/packages/medusa/src/api/routes/admin/uploads/index.js @@ -15,5 +15,7 @@ export default app => { middlewares.wrap(require("./create-upload").default) ) + route.post("/delete", middlewares.wrap(require("./delete-upload").default)) + return app }