This commit is contained in:
David Arranz 2019-08-07 15:56:25 +02:00
parent 24570afc0f
commit ea6bda68a7
5 changed files with 76 additions and 10 deletions

View File

@ -44,6 +44,7 @@ app.use(helmet());
// enable CORS - Cross Origin Resource Sharing // enable CORS - Cross Origin Resource Sharing
app.use(cors({ app.use(cors({
origin: '*',
exposeHeaders: [ exposeHeaders: [
"WWW-Authenticate", "WWW-Authenticate",
"Server-Authorization", "Server-Authorization",
@ -64,13 +65,23 @@ app.use(cors({
], ],
allowHeaders: [ allowHeaders: [
"Content-Type", "Content-Type",
"X-CSRF-Token",
"X-Requested-With",
"Accept",
"Accept-Version",
"Content-Length",
"Content-MD5",
"Date",
"X-Api-Version",
"X-File-Name",
"Authorization", "Authorization",
"X-Frame-Options", "X-Frame-Options",
"Origin" "Origin",
], ],
})); }));
// Access validator // Access validator
app.use(passport.initialize()); app.use(passport.initialize());
require('./passport'); require('./passport');

10
middlewares/uploader.js Normal file
View File

@ -0,0 +1,10 @@
var multer = require('multer');
/*var upload = function (path) {
return multer({storage: storage(path)});
};*/
var upload = multer({
storage: multer.memoryStorage()
});
module.exports = upload;

View File

@ -3,6 +3,9 @@ const routes = require('express').Router();
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
const { cacheSuccesses } = require('../../middlewares/cache'); const { cacheSuccesses } = require('../../middlewares/cache');
// Uploader
const uploader = require('../../middlewares/uploader.js');
//const SchemaValidator = require('../../middlewares/schemaValidator'); //const SchemaValidator = require('../../middlewares/schemaValidator');
const PaginateMiddleware = require('../../middlewares/paginate'); const PaginateMiddleware = require('../../middlewares/paginate');
@ -46,9 +49,48 @@ routes.get('/multimedias/:id', //cacheSuccesses('24 hours'),
********************************************************************************************************* *********************************************************************************************************
*/ */
routes.post('/multimedias/', routes.post('/admin/multimedias/',
isAdministratorUser, uploader.any(),
function (req, res, next) {
var file = req.file;
console.log(req.file);
console.log(req.files);
/*var filePath = assetHelper.getFileNameWithPath(file.originalname, assetHelper.PATHS.WALLPAPERS);
assetHelper.uploadImage(file, filePath).then(
function () {
res.status(500).json({
messenger: {
success: true,
message: 'Speaker wallpaper uploaded successfully',
code: 'E0100X'
},
data: {
filepath: filePath
}
});
},
function (error) {
logger.error(error);
res.status(500).json({
messenger: {
success: false,
message: 'File updating error.',
code: 'E01006'
}
});
}
);*/
res.send('0');
},
multimediaController.create
);
routes.put('/admin/multimedias/:id',
isAdministratorUser, isAdministratorUser,
multimediaController.update multimediaController.update
); );
module.exports = routes; module.exports = routes;

View File

@ -27,6 +27,9 @@ const extraMethods = {
let rows = result.rows.map(function(row) { let rows = result.rows.map(function(row) {
let result = row.toJSON(); let result = row.toJSON();
delete result.multimediaFile.id;
result = Object.assign(result, result.multimediaFile, { multimediaFile: undefined }) result = Object.assign(result, result.multimediaFile, { multimediaFile: undefined })
delete result.createdAt; delete result.createdAt;
@ -49,12 +52,11 @@ const extraMethods = {
const multimedia = result.toJSON(); const multimedia = result.toJSON();
if (multimedia.provider === 'vimeo') { return providerComposer(multimedia);
multimedia.providerInfo = await providerComposer(multimedia);
}
return multimedia;
}, },
} }
module.exports = generateService(models.Multimedia, extraMethods); module.exports = generateService(models.Multimedia, extraMethods);

View File

@ -40,8 +40,10 @@
"http-status": "^1.3.2", "http-status": "^1.3.2",
"joi": "^14.3.1", "joi": "^14.3.1",
"lodash": "^4.17.11", "lodash": "^4.17.11",
"mailchimp-api-v3": "^1.12.0",
"method-override": "^3.0.0", "method-override": "^3.0.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"multer": "^1.4.2",
"mysql": "^2.17.1", "mysql": "^2.17.1",
"mysql2": "^1.6.5", "mysql2": "^1.6.5",
"node-fetch": "^2.3.0", "node-fetch": "^2.3.0",
@ -58,7 +60,6 @@
"sequelize": "^5.6.1", "sequelize": "^5.6.1",
"vimeo": "^2.1.1", "vimeo": "^2.1.1",
"vm": "^0.1.0", "vm": "^0.1.0",
"winston": "^3.2.1", "winston": "^3.2.1"
"mailchimp-api-v3": "^1.12.0"
} }
} }