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');
|
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-08-02 10:19:27 +00:00
|
|
|
function installUploadHandler(router, url, replacementBehavior, type = null, subType = null) {
|
2018-03-24 22:55:50 +00:00
|
|
|
router.postAsync(url, passport.loggedIn, multer.array('files[]'), async (req, res) => {
|
2018-08-02 10:19:27 +00:00
|
|
|
return res.json(await files.createFiles(req.context, type || req.params.type, subType || req.params.subType, req.params.entityId, req.files, replacementBehavior));
|
2018-03-24 22:55:50 +00:00
|
|
|
});
|
2017-04-25 22:49:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
2018-03-24 22:55:50 +00:00
|
|
|
installUploadHandler
|
|
|
|
};
|