fix: fix multer syntax error and unify upload routes
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import { Router } from 'express';
|
import { Router } from 'express';
|
||||||
import authRoutes from './auths.js';
|
import authRoutes from './auths.js';
|
||||||
import adminRoutes from './admins.js';
|
|
||||||
import trackRoutes from './tracks.js';
|
import trackRoutes from './tracks.js';
|
||||||
import playlistRoutes from './playlists.js';
|
import playlistRoutes from './playlists.js';
|
||||||
import artistRoutes from './artists.js';
|
import artistRoutes from './artists.js';
|
||||||
@@ -20,7 +19,6 @@ router.get('/health', (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.use('/auth', authRoutes);
|
router.use('/auth', authRoutes);
|
||||||
router.use('/admin', adminRoutes);
|
|
||||||
router.use('/tracks', trackRoutes);
|
router.use('/tracks', trackRoutes);
|
||||||
router.use('/playlists', playlistRoutes);
|
router.use('/playlists', playlistRoutes);
|
||||||
router.use('/artists', artistRoutes);
|
router.use('/artists', artistRoutes);
|
||||||
|
|||||||
@@ -1,11 +1,22 @@
|
|||||||
import { Router } from 'express';
|
import { Router } from 'express';
|
||||||
import { trackController } from '../controllers/trackController.js';
|
import { trackController } from '../controllers/trackController.js';
|
||||||
|
import { uploadController } from '../controllers/uploadController.js';
|
||||||
import { auth } from '../middlewares/auth.js';
|
import { auth } from '../middlewares/auth.js';
|
||||||
|
import { uploadTrackAssets } from '../utils/multer.js';
|
||||||
|
|
||||||
const router = Router();
|
const router = Router();
|
||||||
|
|
||||||
router.get('/', trackController.list);
|
router.get('/', trackController.list);
|
||||||
router.get('/liked', auth, trackController.listLiked);
|
router.get('/liked', auth, trackController.listLiked);
|
||||||
|
router.post(
|
||||||
|
'/',
|
||||||
|
auth,
|
||||||
|
uploadTrackAssets.fields([
|
||||||
|
{ name: 'cover', maxCount: 1 },
|
||||||
|
{ name: 'audio', maxCount: 1 },
|
||||||
|
]),
|
||||||
|
uploadController.uploadTrack
|
||||||
|
);
|
||||||
router.post('/:trackId/like', auth, trackController.like);
|
router.post('/:trackId/like', auth, trackController.like);
|
||||||
router.delete('/:trackId/like', auth, trackController.unlike);
|
router.delete('/:trackId/like', auth, trackController.unlike);
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -75,7 +75,7 @@ const imageFilter = (req, file, cb) => {
|
|||||||
return cb(null, true);
|
return cb(null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file.fieldname === 'playlistCover') {
|
if (file.fieldname === 'playlistCover' || file.fieldname === 'avatar') {
|
||||||
const allowed = ['image/jpeg', 'image/png', 'image/webp'];
|
const allowed = ['image/jpeg', 'image/png', 'image/webp'];
|
||||||
if (!allowed.includes(file.mimetype)) {
|
if (!allowed.includes(file.mimetype)) {
|
||||||
return cb(new Error('Only JPG, PNG, or WEBP images are allowed'));
|
return cb(new Error('Only JPG, PNG, or WEBP images are allowed'));
|
||||||
@@ -85,7 +85,6 @@ const imageFilter = (req, file, cb) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return cb(new Error('Invalid upload field'));
|
return cb(new Error('Invalid upload field'));
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const uploadAvatar = multer({
|
export const uploadAvatar = multer({
|
||||||
|
|||||||
Reference in New Issue
Block a user