26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const upload = require('../middleware/upload');
|
|
const { protect, authorize } = require('../middleware/authMiddleware');
|
|
const { successResponse, errorResponse } = require('../utils/apiResponse');
|
|
|
|
// Single image upload
|
|
router.post('/', protect, authorize('Admin'), upload.single('media'), (req, res) => {
|
|
if (!req.file) {
|
|
return errorResponse(res, 'Please upload a file', [], 400);
|
|
}
|
|
const fileUrl = `/uploads/${req.file.filename}`;
|
|
return successResponse(res, 'File uploaded successfully', { url: fileUrl });
|
|
});
|
|
|
|
// Multiple product images upload
|
|
router.post('/multiple', protect, authorize('Admin'), upload.array('images', 10), (req, res) => {
|
|
if (!req.files || req.files.length === 0) {
|
|
return errorResponse(res, 'Please upload at least one image file', [], 400);
|
|
}
|
|
const urls = req.files.map(file => `/uploads/${file.filename}`);
|
|
return successResponse(res, 'Images uploaded successfully', { urls });
|
|
});
|
|
|
|
module.exports = router;
|