Spaces:
Runtime error
Runtime error
File size: 615 Bytes
24727a3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import fs from 'fs'
export function validate(schema, source = 'body') {
return (req, res, next) => {
const data = source === 'body' ? req.body
: source === 'params' ? req.params
: req.query
const result = schema.safeParse(data)
if (!result.success) {
if (req.file?.path) {
fs.unlink(req.file.path, () => {})
}
return res.status(400).json({
error: 'بيانات غير صحيحة',
code: 'VALIDATION_ERROR',
details: result.error.flatten().fieldErrors
})
}
req.validatedData = result.data
next()
}
}
|