S3 for other controolers
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
const s3Storage = require("./s3Storage");
|
||||
|
||||
const PDF_PREFIX = "uploads/pdf";
|
||||
const BOOK_SLIDE_PREFIX = "uploads/books";
|
||||
|
||||
const uploadPdf = async (fileData, fileName) => {
|
||||
const key = `${PDF_PREFIX}/${fileName}`;
|
||||
await s3Storage.uploadBuffer(key, fileData, "application/pdf");
|
||||
return {
|
||||
fileName,
|
||||
url: s3Storage.getPublicUrl(key),
|
||||
};
|
||||
};
|
||||
|
||||
const uploadBookSlide = async (buffer, imageName) => {
|
||||
const key = `${BOOK_SLIDE_PREFIX}/${imageName}.jpeg`;
|
||||
await s3Storage.uploadBuffer(key, buffer, "image/jpeg");
|
||||
return s3Storage.getPublicUrl(key);
|
||||
};
|
||||
|
||||
const deletePdf = async (fileName) => {
|
||||
if (!fileName) return;
|
||||
|
||||
try {
|
||||
await s3Storage.deleteObject(`${PDF_PREFIX}/${fileName}`);
|
||||
} catch (error) {
|
||||
console.log("Failed to delete PDF from S3:", error?.message);
|
||||
}
|
||||
};
|
||||
|
||||
const deleteBookSlide = async (imageName) => {
|
||||
if (!imageName) return;
|
||||
|
||||
try {
|
||||
await s3Storage.deleteObject(`${BOOK_SLIDE_PREFIX}/${imageName}.jpeg`);
|
||||
} catch (error) {
|
||||
console.log("Failed to delete book slide from S3:", error?.message);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
PDF_PREFIX,
|
||||
BOOK_SLIDE_PREFIX,
|
||||
uploadPdf,
|
||||
uploadBookSlide,
|
||||
deletePdf,
|
||||
deleteBookSlide,
|
||||
};
|
||||
Reference in New Issue
Block a user