diff --git a/src/app/api/upload/route.ts b/src/app/api/upload/route.ts index 4cbc6c2..d30082c 100644 --- a/src/app/api/upload/route.ts +++ b/src/app/api/upload/route.ts @@ -10,14 +10,13 @@ export async function POST(req: Request) { const formData = await req.formData(); const files = formData.getAll("files").filter(Boolean) as File[]; const isPdf = formData.get("isPdf") === "true"; - const thumbnail = formData.get("thumbnail") as File | null; const campus = formData.get("campus") as string | null; if (files.length === 0) { return failure("No files received.", 400); } - const result = await uploadPaper({ files, isPdf, thumbnail, campus }); + const result = await uploadPaper({ files, isPdf, campus }); if (!result.success) { return failure(result.message, result.status); @@ -55,7 +54,7 @@ export async function POST(req: Request) { } return success( - { file_url: result.file_url, thumbnail_url: result.thumbnail_url }, + { file_url: result.file_url }, "Created", 201, ); diff --git a/src/app/upload/page.tsx b/src/app/upload/page.tsx index dd9dfdb..db50738 100644 --- a/src/app/upload/page.tsx +++ b/src/app/upload/page.tsx @@ -32,7 +32,6 @@ GlobalWorkerOptions.workerSrc = interface uploadResponse { file_url: string; - thumbnail_url: string; } export default function Page() { const campus = "Vellore"; diff --git a/src/lib/services/upload.ts b/src/lib/services/upload.ts index 0b7df64..3208d82 100644 --- a/src/lib/services/upload.ts +++ b/src/lib/services/upload.ts @@ -1,6 +1,6 @@ import { PaperAdmin } from "@/db/papers"; import { createPDFfromImages, compressPDF } from "@/lib/storage/pdf"; -import { uploadPDF, uploadThumbnail } from "@/lib/storage/gcp"; +import { uploadPDF } from "@/lib/storage/gcp"; import { connectToDatabase } from "@/lib/database/mongoose"; const MAX_COMPRESSED_PDF_SIZE = 5 * 1024 * 1024; // 5MB compressed @@ -9,18 +9,16 @@ const COMPRESS_THRESHOLD = 5 * 1024 * 1024; // 5MB type UploadPaperInput = { files: File[]; isPdf: boolean; - thumbnail: File | null; campus: string | null; }; type UploadPaperResult = - | { success: true; file_url: string; thumbnail_url: string | null } + | { success: true; file_url: string } | { success: false; message: string; status: number }; export async function uploadPaper({ files, isPdf, - thumbnail, campus, }: UploadPaperInput): Promise { await connectToDatabase(); @@ -63,15 +61,9 @@ export async function uploadPaper({ const buffer = Buffer.from(pdfBytes); const file_url = await uploadPDF("unapproved", buffer); - let thumbnail_url: string | null = null; - if (thumbnail) { - const thumbBuffer = Buffer.from(await thumbnail.arrayBuffer()); - thumbnail_url = await uploadThumbnail(thumbBuffer, file_url); - } - const paper = new PaperAdmin({ file_url, - thumbnail_url, + thumbnail_url: null, campus, subject: null, slot: null, @@ -82,5 +74,5 @@ export async function uploadPaper({ }); await paper.save(); - return { success: true, file_url, thumbnail_url }; + return { success: true, file_url }; } diff --git a/src/lib/storage/gcp.ts b/src/lib/storage/gcp.ts index e036bb6..e475740 100644 --- a/src/lib/storage/gcp.ts +++ b/src/lib/storage/gcp.ts @@ -43,14 +43,4 @@ export async function uploadPDF(folder: string, buffer: Buffer) { const pdfFilename = `${folder}/${Date.now()}-${Math.random().toString(36).substring(2)}.pdf`; await bucket.file(pdfFilename).save(buffer, { resumable: false, contentType: "application/pdf" }); return `https://storage.googleapis.com/${bucketName}/${pdfFilename}`; -} - -export async function uploadThumbnail(buffer: Buffer, pdfFilename: string) { - if (!bucket) { - throw new Error("Google Cloud Storage is not configured"); - } - const bucketName = process.env.GOOGLE_CLOUD_BUCKET ?? ""; - const thumbFilename = pdfFilename.replace(".pdf", ".png"); - await bucket.file(thumbFilename).save(buffer, { resumable: false, contentType: "image/png" }); - return `https://storage.googleapis.com/${bucketName}/${thumbFilename}`; } \ No newline at end of file