2017-04-25 22:49:31 +00:00
|
|
|
'use strict';
|
|
|
|
|
2018-03-24 22:55:50 +00:00
|
|
|
const passport = require('./passport');
|
|
|
|
const files = require('../models/files');
|
2017-04-25 22:49:31 +00:00
|
|
|
|
2018-03-24 22:55:50 +00:00
|
|
|
const path = require('path');
|
|
|
|
const uploadedFilesDir = path.join(files.filesDir, 'uploaded');
|
2018-09-29 11:30:29 +00:00
|
|
|
const {castToInteger} = require('./helpers');
|
2017-04-25 22:49:31 +00:00
|
|
|
|
2018-03-24 22:55:50 +00:00
|
|
|
const multer = require('multer')({
|
|
|
|
dest: uploadedFilesDir
|
|
|
|
});
|
2017-04-25 22:49:31 +00:00
|
|
|
|
2018-11-10 18:40:20 +00:00
|
|
|
function installUploadHandler(router, url, replacementBehavior, type, subType, transformResponseFn) {
|
2018-03-24 22:55:50 +00:00
|
|
|
router.postAsync(url, passport.loggedIn, multer.array('files[]'), async (req, res) => {
|
2018-11-10 18:40:20 +00:00
|
|
|
return res.json(await files.createFiles(req.context, type || req.params.type, subType || req.params.subType, castToInteger(req.params.entityId), req.files, replacementBehavior, transformResponseFn));
|
2018-03-24 22:55:50 +00:00
|
|
|
});
|
2017-04-25 22:49:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
2018-12-26 03:38:02 +00:00
|
|
|
installUploadHandler,
|
|
|
|
uploadedFilesDir
|
2018-03-24 22:55:50 +00:00
|
|
|
};
|