refactor: Extract shared multer/upload config from routes

Create src/config/upload.js with createUpload() factory and shared
ALLOWED_FILE_TYPES constant. Replace duplicated multer configs in 5
route files with calls to the shared factory.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
richardtekula
2026-01-28 07:21:35 +01:00
parent 01ce2fc7ad
commit f463467264
6 changed files with 86 additions and 112 deletions

View File

@@ -1,5 +1,4 @@
import express from 'express';
import multer from 'multer';
import * as companyController from '../controllers/company.controller.js';
import * as personalContactController from '../controllers/personal-contact.controller.js';
import * as companyDocumentController from '../controllers/company-document.controller.js';
@@ -9,14 +8,9 @@ import { checkCompanyAccess } from '../middlewares/auth/resourceAccessMiddleware
import { validateBody, validateParams } from '../middlewares/security/validateInput.js';
import { createCompanySchema, updateCompanySchema, createCompanyReminderSchema, updateCompanyReminderSchema } from '../validators/crm.validators.js';
import { z } from 'zod';
import { createUpload } from '../config/upload.js';
// Configure multer for file uploads (memory storage)
const upload = multer({
storage: multer.memoryStorage(),
limits: {
fileSize: 50 * 1024 * 1024, // 50MB max
},
});
const upload = createUpload({ maxSizeMB: 50 });
const router = express.Router();