From f6416738ae13f9674a6eb95b00cbadd88d757ddf Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Wed, 19 Jun 2019 17:03:15 -0400 Subject: [PATCH] Bug/orphaned assets (#1108) * fixes #498 * fix linting errors --- server/controllers/aws.controller.js | 36 ++++++++++++++++++---------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/server/controllers/aws.controller.js b/server/controllers/aws.controller.js index 09c1480e..4e94e24e 100644 --- a/server/controllers/aws.controller.js +++ b/server/controllers/aws.controller.js @@ -126,21 +126,31 @@ export function listObjectsInS3ForUser(req, res) { .on('end', () => { const projectAssets = []; getProjectsForUserId(userId).then((projects) => { - projects.forEach((project) => { - project.files.forEach((file) => { - if (!file.url) return; - - const foundAsset = assets.find(asset => file.url.includes(asset.key)); - if (!foundAsset) return; - projectAssets.push({ - name: file.name, - sketchName: project.name, - sketchId: project.id, - url: file.url, - key: foundAsset.key, - size: foundAsset.size + assets.forEach((asset) => { + const name = asset.key.split('/').pop(); + const foundAsset = { + key: asset.key, + name, + size: asset.size, + url: `${process.env.S3_BUCKET_URL_BASE}${asset.key}` + }; + projects.some((project) => { + let found = false; + project.files.some((file) => { + if (!file.url) return false; + if (file.url.includes(asset.key)) { + found = true; + foundAsset.name = file.name; + foundAsset.sketchName = project.name; + foundAsset.sketchId = project.id; + foundAsset.url = file.url; + return true; + } + return false; }); + return found; }); + projectAssets.push(foundAsset); }); res.json({ assets: projectAssets }); });