diff --git a/app/controllers/admin/content-report.js b/app/controllers/admin/content-report.js index cdf7b89..fe47479 100644 --- a/app/controllers/admin/content-report.js +++ b/app/controllers/admin/content-report.js @@ -5,9 +5,8 @@ 'use strict'; const express = require('express'); -const multer = require('multer'); -const { /*SiteError,*/ SiteController } = require('../../../lib/site-lib'); +const { SiteController } = require('../../../lib/site-lib'); class ContentReportController extends SiteController { @@ -16,7 +15,7 @@ class ContentReportController extends SiteController { } async start ( ) { - const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/upload` }); + const upload = this.createMulter(); const router = express.Router(); router.use(async (req, res, next) => { diff --git a/app/controllers/admin/core-node.js b/app/controllers/admin/core-node.js index 0d68cb5..2ae9816 100644 --- a/app/controllers/admin/core-node.js +++ b/app/controllers/admin/core-node.js @@ -16,8 +16,6 @@ class CoreNodeController extends SiteController { } async start ( ) { - // const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/upload` }); - const router = express.Router(); router.use(async (req, res, next) => { res.locals.currentView = 'admin'; diff --git a/app/controllers/admin/core-user.js b/app/controllers/admin/core-user.js index 1d72973..421c6fe 100644 --- a/app/controllers/admin/core-user.js +++ b/app/controllers/admin/core-user.js @@ -16,8 +16,6 @@ class CoreUserController extends SiteController { } async start ( ) { - // const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/upload` }); - const router = express.Router(); router.use(async (req, res, next) => { res.locals.currentView = 'admin'; diff --git a/app/controllers/auth.js b/app/controllers/auth.js index b78b458..2435b6d 100644 --- a/app/controllers/auth.js +++ b/app/controllers/auth.js @@ -25,7 +25,8 @@ class AuthController extends SiteController { coreNode: coreNodeService, limiter: limiterService, } = this.dtp.services; - const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/uploads/${this.component.slug}` }); + + const upload = this.createMulter(); const router = express.Router(); this.dtp.app.use('/auth', router); diff --git a/app/controllers/chat.js b/app/controllers/chat.js index fdf4ecb..e9e76b1 100644 --- a/app/controllers/chat.js +++ b/app/controllers/chat.js @@ -23,7 +23,7 @@ class ChatController extends SiteController { session: sessionService, } = this.dtp.services; - const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/uploads/${this.component.slug}` }); + const upload = this.createMulter(); const router = express.Router(); this.dtp.app.use('/chat', router); diff --git a/app/controllers/image.js b/app/controllers/image.js index 6c79620..0f5af9a 100644 --- a/app/controllers/image.js +++ b/app/controllers/image.js @@ -26,8 +26,7 @@ class ImageController extends SiteController { const router = express.Router(); dtp.app.use('/image', router); - const imageUpload = multer({ - dest: `/tmp/${this.dtp.config.site.domainKey}/uploads/${this.component.slug}`, + const imageUpload = this.createMulter('uploads', { limits: { fileSize: 1024 * 1000 * 12, }, diff --git a/app/controllers/newsletter.js b/app/controllers/newsletter.js index 2294e0e..92bc7b9 100644 --- a/app/controllers/newsletter.js +++ b/app/controllers/newsletter.js @@ -19,7 +19,7 @@ class NewsletterController extends SiteController { const { dtp } = this; const { limiter: limiterService } = dtp.services; - const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/uploads/${module.exports.slug}` }); + const upload = this.createMulter(); const router = express.Router(); dtp.app.use('/newsletter', router); diff --git a/app/controllers/user.js b/app/controllers/user.js index 9e2b8f9..2d8222b 100644 --- a/app/controllers/user.js +++ b/app/controllers/user.js @@ -24,7 +24,8 @@ class UserController extends SiteController { session: sessionService, } = dtp.services; - const upload = multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/uploads/${this.component.slug}` }); + const upload = this.createMulter(); + const router = express.Router(); dtp.app.use('/user', router); diff --git a/lib/site-controller.js b/lib/site-controller.js index 28185f7..872fab4 100644 --- a/lib/site-controller.js +++ b/lib/site-controller.js @@ -36,9 +36,14 @@ class SiteController extends SiteCommon { return pagination; } - createMulter (slug) { + createMulter (slug, options) { slug = slug || 'uploads'; - return multer({ dest: `/tmp/${this.dtp.config.site.domainKey}/${slug}/${this.component.slug}` }); + + options = Object.assign({ + dest: `/tmp/${this.dtp.config.site.domainKey}/${slug}/${this.component.slug}` + }, options || { }); + + return multer(options); } createDisplayList (name) {