fix: allow PDF uploads in backend OCR controller and service (refs #182)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m41s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 52s
Deploy to Staging / Verify Staging (pull_request) Successful in 9s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m41s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 52s
Deploy to Staging / Verify Staging (pull_request) Successful in 9s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
The backend SUPPORTED_IMAGE_TYPES set excluded application/pdf, returning 415 before the request ever reached the OCR microservice. Added PDF to the allowed types in both controller and service validation layers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,12 +15,13 @@ const SUPPORTED_TYPES = new Set([
|
|||||||
'application/pdf',
|
'application/pdf',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** Image-only MIME types for receipt extraction (no PDF) */
|
/** Image-only MIME types for receipt extraction */
|
||||||
const SUPPORTED_IMAGE_TYPES = new Set([
|
const SUPPORTED_IMAGE_TYPES = new Set([
|
||||||
'image/jpeg',
|
'image/jpeg',
|
||||||
'image/png',
|
'image/png',
|
||||||
'image/heic',
|
'image/heic',
|
||||||
'image/heif',
|
'image/heif',
|
||||||
|
'application/pdf',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
export class OcrController {
|
export class OcrController {
|
||||||
@@ -268,7 +269,7 @@ export class OcrController {
|
|||||||
});
|
});
|
||||||
return reply.code(415).send({
|
return reply.code(415).send({
|
||||||
error: 'Unsupported Media Type',
|
error: 'Unsupported Media Type',
|
||||||
message: `Unsupported file type: ${contentType}. Supported: JPEG, PNG, HEIC`,
|
message: `Unsupported file type: ${contentType}. Supported: JPEG, PNG, HEIC, PDF`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,7 +381,7 @@ export class OcrController {
|
|||||||
});
|
});
|
||||||
return reply.code(415).send({
|
return reply.code(415).send({
|
||||||
error: 'Unsupported Media Type',
|
error: 'Unsupported Media Type',
|
||||||
message: `Unsupported file type: ${contentType}. Supported: JPEG, PNG, HEIC`,
|
message: `Unsupported file type: ${contentType}. Supported: JPEG, PNG, HEIC, PDF`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,12 +31,13 @@ const SUPPORTED_TYPES = new Set([
|
|||||||
'application/pdf',
|
'application/pdf',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** Image-only MIME types for receipt extraction (no PDF) */
|
/** MIME types for receipt extraction */
|
||||||
const SUPPORTED_IMAGE_TYPES = new Set([
|
const SUPPORTED_IMAGE_TYPES = new Set([
|
||||||
'image/jpeg',
|
'image/jpeg',
|
||||||
'image/png',
|
'image/png',
|
||||||
'image/heic',
|
'image/heic',
|
||||||
'image/heif',
|
'image/heif',
|
||||||
|
'application/pdf',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user