diff --git a/src/config/aws.js b/src/config/aws.js index 38168e0..a5f0306 100644 --- a/src/config/aws.js +++ b/src/config/aws.js @@ -32,5 +32,13 @@ module.exports = { return false; } }, + generatePresignedUrl: (url) => { + const key = url.split(".com/")[1]; + return S3.getSignedUrl("getObject", { + Bucket: AWS_S3_BUCKET, + Key: key, + Expires: 600, + }); + } }, }; diff --git a/src/controller/inventory.controller.js b/src/controller/inventory.controller.js index 52214e3..e71da7e 100644 --- a/src/controller/inventory.controller.js +++ b/src/controller/inventory.controller.js @@ -30,6 +30,7 @@ module.exports = { res.status(404).send({ success: false, error: "Inventory not found" }); return; } + if (inventoryData.image_url) inventoryData.image_url = S3.generatePresignedUrl(inventoryData.image_url); res.send({ success: true, data: inventoryData }); } catch (error) { next(error); @@ -52,6 +53,7 @@ module.exports = { for (const inventory of inventoryData) { inventory["widgetFamilies"] = await WidgetFamily.find({ inventory: inventory._id }); + if (inventory.image_url) inventory.image_url = S3.generatePresignedUrl(inventory.image_url); } res.send({ success: true, data: inventoryData }); diff --git a/src/models/Item.js b/src/models/Item.js index a0e35b9..16b06af 100644 --- a/src/models/Item.js +++ b/src/models/Item.js @@ -13,6 +13,12 @@ const schema = new mongoose.Schema( required: true, trim: true, }, + images: [ + { + type: String, + trim: true, + }, + ], description: { type: String, required: true,