fixed image previews
This commit is contained in:
@@ -4,6 +4,7 @@ const { authenticateToken } = require("../middleware/auth");
|
||||
const { uploadPresignLimiter } = require("../middleware/rateLimiter");
|
||||
const s3Service = require("../services/s3Service");
|
||||
const S3OwnershipService = require("../services/s3OwnershipService");
|
||||
const { v4: uuidv4 } = require("uuid");
|
||||
const logger = require("../utils/logger");
|
||||
const MAX_BATCH_SIZE = 20;
|
||||
|
||||
@@ -63,6 +64,7 @@ router.post(
|
||||
/**
|
||||
* POST /api/upload/presign-batch
|
||||
* Get presigned URLs for uploading multiple files to S3
|
||||
* All files in a batch share the same UUID base for coordinated variant uploads
|
||||
*/
|
||||
router.post(
|
||||
"/presign-batch",
|
||||
@@ -96,13 +98,17 @@ router.post(
|
||||
}
|
||||
}
|
||||
|
||||
// Generate one shared UUID for all files in this batch
|
||||
const sharedBaseKey = uuidv4();
|
||||
|
||||
const results = await Promise.all(
|
||||
files.map((f) =>
|
||||
s3Service.getPresignedUploadUrl(
|
||||
uploadType,
|
||||
f.contentType,
|
||||
f.fileName,
|
||||
f.fileSize
|
||||
f.fileSize,
|
||||
sharedBaseKey
|
||||
)
|
||||
)
|
||||
);
|
||||
@@ -111,9 +117,10 @@ router.post(
|
||||
userId: req.user.id,
|
||||
uploadType,
|
||||
count: results.length,
|
||||
baseKey: sharedBaseKey,
|
||||
});
|
||||
|
||||
res.json({ uploads: results });
|
||||
res.json({ uploads: results, baseKey: sharedBaseKey });
|
||||
} catch (error) {
|
||||
if (error.message.includes("Invalid")) {
|
||||
return res.status(400).json({ error: error.message });
|
||||
|
||||
Reference in New Issue
Block a user