const express = require('express'); const router = express.Router(); const { authenticate } = require('../middleware/auth'); const { uploadSingle, uploadMultiple, handleUploadError } = require('../middleware/upload'); // All routes require authentication router.use(authenticate); // Single file upload router.post('/document', (req, res, next) => { uploadSingle(req, res, (err) => { if (err) { return handleUploadError(err, req, res, next); } if (!req.file) { return res.status(400).json({ success: false, message: 'No file uploaded' }); } res.json({ success: true, message: 'File uploaded successfully', file: { filename: req.file.filename, originalName: req.file.originalname, size: req.file.size, url: `/uploads/${req.body.uploadType || 'documents'}/${req.file.filename}` } }); }); }); // Multiple files upload router.post('/documents', (req, res, next) => { uploadMultiple(req, res, (err) => { if (err) { return handleUploadError(err, req, res, next); } if (!req.files || req.files.length === 0) { return res.status(400).json({ success: false, message: 'No files uploaded' }); } const files = req.files.map(file => ({ filename: file.filename, originalName: file.originalname, size: file.size, url: `/uploads/${req.body.uploadType || 'documents'}/${file.filename}` })); res.json({ success: true, message: 'Files uploaded successfully', files }); }); }); module.exports = router;