[verified] add upload size and MIME guards
api-ci-deploy / test-build-deploy (push) Has been cancelled

(cherry picked from commit f5e05376f6)
This commit is contained in:
2026-06-08 01:18:39 +00:00
committed by CC Worker
parent e98fed661f
commit c69451fba2
6 changed files with 169 additions and 17 deletions
+2 -5
View File
@@ -28,6 +28,7 @@ from api.services.docling.regions import detect_response_regions_from_pdf
from modules.database.services.exam_projection import project_template, project_template_safe
from modules.database.supabase.utils.client import SupabaseServiceRoleClient
from modules.database.supabase.utils.storage import StorageAdmin
from modules.upload_validation import read_pdf_upload_bytes
from modules.logger_tool import initialise_logger
from routers.exam.dependencies import ExamContext, get_exam_context, lookup_exam_code
from routers.exam.schemas import (
@@ -164,11 +165,7 @@ async def _upload_template_source_file(
institute_id: str,
upload: UploadFile,
) -> str:
file_bytes = await upload.read()
if not file_bytes:
raise HTTPException(status_code=400, detail="Uploaded PDF is empty")
if upload.content_type and upload.content_type != "application/pdf":
raise HTTPException(status_code=400, detail="Uploaded file must be a PDF")
file_bytes = await read_pdf_upload_bytes(upload)
service = SupabaseServiceRoleClient()
storage = StorageAdmin()