import { MulterOptions } from '@nestjs/platform-express/multer/interfaces/multer-options.interface';

// Mirrors Express's utils/upload.ts createImageUpload(): memory storage (implicit,
// no `storage`/`dest` given), image-only mimetype filter, and a per-upload size cap.
export function imageUploadOptions(maxFileSizeMb: number): MulterOptions {
  return {
    limits: { fileSize: maxFileSizeMb * 1024 * 1024 },
    fileFilter: (_req, file, cb) => {
      if (file.mimetype.startsWith('image/')) {
        cb(null, true);
      } else {
        cb(new Error('Only images are allowed'), false);
      }
    },
  };
}
