diff --git a/apps/api-service/src/middleware/jsonValidation.ts b/apps/api-service/src/middleware/jsonValidation.ts index 4afc3af..1693f91 100644 --- a/apps/api-service/src/middleware/jsonValidation.ts +++ b/apps/api-service/src/middleware/jsonValidation.ts @@ -147,6 +147,28 @@ export const validateTextToImageRequest = ( } } + // Validate meta (optional object) + if (req.body.meta !== undefined) { + if ( + typeof req.body.meta !== "object" || + Array.isArray(req.body.meta) + ) { + errors.push("meta must be an object"); + } else if (req.body.meta.tags !== undefined) { + if (!Array.isArray(req.body.meta.tags)) { + errors.push("meta.tags must be an array"); + } else { + // Validate each tag is a string + for (const tag of req.body.meta.tags) { + if (typeof tag !== "string") { + errors.push("Each tag in meta.tags must be a string"); + break; + } + } + } + } + } + // Check for XSS attempts in prompt const xssPatterns = [ /