s3 image file validation
This commit is contained in:
@@ -8,6 +8,8 @@ const { Op } = require('sequelize');
|
||||
const emailServices = require('../services/email');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { validateS3Keys } = require('../utils/s3KeyValidator');
|
||||
const { IMAGE_LIMITS } = require('../config/imageLimits');
|
||||
const router = express.Router();
|
||||
|
||||
// Get all messages for the current user (inbox)
|
||||
@@ -240,6 +242,17 @@ router.post('/', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
const { receiverId, content, imageFilename } = req.body;
|
||||
|
||||
// Validate imageFilename if provided
|
||||
if (imageFilename) {
|
||||
const keyValidation = validateS3Keys([imageFilename], 'messages', { maxKeys: IMAGE_LIMITS.messages });
|
||||
if (!keyValidation.valid) {
|
||||
return res.status(400).json({
|
||||
error: keyValidation.error,
|
||||
details: keyValidation.invalidKeys
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Check if receiver exists
|
||||
const receiver = await User.findByPk(receiverId);
|
||||
if (!receiver) {
|
||||
|
||||
Reference in New Issue
Block a user