Load static dir and url from config
This commit is contained in:
@@ -8,22 +8,24 @@ const classifyFile = (file) => {
|
||||
}
|
||||
};
|
||||
|
||||
function upload(req, res) {
|
||||
if (Object.keys(req.files).length === 0) {
|
||||
return res.status(400).send('No files were uploaded.');
|
||||
}
|
||||
function upload(req, res, next, config) {
|
||||
if (Object.keys(req.files).length === 0) {
|
||||
return res.status(400).send('No files were uploaded.');
|
||||
}
|
||||
|
||||
mkdirp('./uploads', (err) => {
|
||||
if (err) console.error(err);
|
||||
});
|
||||
mkdirp(config.staticDir, (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
res.status(500).send('Upload failed.');
|
||||
}
|
||||
});
|
||||
|
||||
req.files.file.mv(`${config.staticDir}/${req.files.file.name}`, (err) => {
|
||||
if (err) return res.status(500).send(err);
|
||||
|
||||
req.files.file.mv(`./uploads/${req.files.file.name}`, (err) => {
|
||||
if (err) return res.status(500).send(err);
|
||||
|
||||
classifyFile(req.files.file);
|
||||
res.send('File uploaded.');
|
||||
})
|
||||
classifyFile(req.files.file);
|
||||
res.send('File uploaded.');
|
||||
})
|
||||
}
|
||||
|
||||
export default { upload };
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import mongoose from 'mongoose';
|
||||
import mongooseIntl from 'mongoose-intl';
|
||||
import passport from 'passport';
|
||||
import express from 'express';
|
||||
import methodOverride from 'method-override';
|
||||
@@ -21,6 +20,8 @@ module.exports = {
|
||||
});
|
||||
|
||||
options.app.use(fileUpload());
|
||||
const staticUrl = options.config.staticUrl ? options.config.staticUrl : `/${options.config.staticDir}`;
|
||||
options.app.use(staticUrl, express.static(options.config.staticDir));
|
||||
|
||||
// Configure passport for Auth
|
||||
options.app.use(passport.initialize());
|
||||
@@ -41,7 +42,7 @@ module.exports = {
|
||||
next();
|
||||
});
|
||||
|
||||
options.router.use('/upload', assetRoutes);
|
||||
options.router.use('/upload', assetRoutes(options.config));
|
||||
|
||||
options.app.use(language(config.localization));
|
||||
|
||||
|
||||
@@ -3,9 +3,15 @@ import passport from 'passport';
|
||||
import uploadsCtrl from '../controllers/uploads.controller';
|
||||
|
||||
const router = new express.Router();
|
||||
const uploadRouter = config => {
|
||||
router
|
||||
.route('')
|
||||
.post(
|
||||
passport.authenticate('jwt', { session: false }),
|
||||
(req, res, next) => uploadsCtrl.upload(req, res, next, config)
|
||||
);
|
||||
|
||||
router
|
||||
.route('')
|
||||
.post(passport.authenticate('jwt', { session: false }), uploadsCtrl.upload);
|
||||
return router;
|
||||
};
|
||||
|
||||
export default router;
|
||||
export default uploadRouter;
|
||||
|
||||
Reference in New Issue
Block a user