This commit is contained in:
David Arranz 2019-08-18 17:08:18 +02:00
parent 759babd7d5
commit a60ced94dc
6 changed files with 25 additions and 62 deletions

View File

@ -132,7 +132,7 @@ function handleErrorResponse(controllerName, methodName, error, res) {
function handleResultResponse(result, totalCount = null, params, res, statusCode = httpStatus.OK) {
setPaginationInfo((totalCount) ? totalCount : getTotalCount(result), res);
res.status(statusCode).send(isNaN(result) ? result : result.toString());
res.status(statusCode).send(typeof result == 'number' ? result.toString() : result);
}

View File

@ -130,7 +130,6 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
return await model.scope(context.scopes).findOne(findOptions);
};
const associationName = hasAssociation(params);
console.log('associationName => ', associationName);
delete params.params.association;
@ -215,6 +214,7 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
if (extraMethods.beforeUpdate) {
values = extraMethods.beforeUpdate(values, findOptions, context);
}
console.log(context);
return await model.scope(context.scopes).update(values, findOptions)
},

View File

@ -57,12 +57,13 @@ const multimediasInputType = Joi.object().keys({
description: Joi.string().optional(),
type: Joi.string().required(),
class: Joi.string().required(),
multimediafileId: Joi.string().required()
});
routes.post('/admin/multimedias/',
isAdministratorUser,
//SchemaValidator(multimediasInputType, true),
SchemaValidator(multimediasInputType, true),
//uploader.single('file'),
multimediaController.create()
);

View File

@ -1,67 +1,12 @@
'use strict';
const httpStatus = require('http-status');
var configuration = require('../../config');
const generateControllers = require('../../core/controllers');
const multimediaFileService = require('./multimedia_file.service');
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
// Module Name
const MODULE_NAME = '[multimediaFile.controller]';
const controllerOptions = { MODULE_NAME };
function buildContext(req, config) {
return {
user: req.user,
scopes: [],
...config,
}
}
const extraControllers = {
/*upload: (config) => {
return async (req, res, next) => {
var file = req.file;
console.log(file);
// ¿Hay fichero adjunto?
if (!file || !file.buffer) {
try {
var CDNFilePath = cdnHelper.getCDNFilenameWithPath(file.originalname, 'speaker');
await multimediaFileService.uploadFile(file, CDNFilePath, data, context);
} catch(error) {
return handleErrorResponse(MODULE_NAME, 'upload', error, res);
}
} else {
next();
}
}
},*/
create: (config) => {
return async (req, res, next) => {
var data = req.body;
try {
if (req.file) {
data.url = req.file.path.replace(configuration.uploads.path, '');
data.provider = 'cdn';
data.class = 'picture';
}
const context = buildContext(req, config);
const result = await multimediaFileService.create(data, context);
return handleResultResponse(result, null, null, res, httpStatus.CREATED)
} catch (error) {
return handleErrorResponse(MODULE_NAME, 'create', error, res)
}
}
},
};
const extraControllers = {};
module.exports = generateControllers(multimediaFileService, extraControllers, controllerOptions);

View File

@ -1,4 +1,5 @@
const routes = require('express').Router();
const config = require('../../config');
// Uploader
const cdnUpload = require('../../middlewares/uploader.js');
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
@ -47,14 +48,30 @@ routes.post('/admin/multimediafiles/',
isAdministratorUser,
SchemaValidator(multimediaFilesInputType, true),
cdnUpload().single('file'),
(req, res, next) => {
if (req.file) {
req.body.url = req.file.path.replace(config.uploads.path, '');
req.body.provider = 'cdn';
req.body.class = 'picture';
}
next();
},
multimediaFileController.create()
);
// Modificación
routes.put('/admin/multimediafiles/:id',
isAdministratorUser,
SchemaValidator(multimediaFilesInputType, true),
//SchemaValidator(multimediaFilesInputType, true),
cdnUpload().single('file'),
(req, res, next) => {
if (req.file) {
req.body.url = req.file.path.replace(config.uploads.path, '');
req.body.provider = 'cdn';
req.body.class = 'picture';
}
next();
},
multimediaFileController.update()
);

View File

@ -13,10 +13,10 @@ const sharp = require('sharp');
const config = require('../../config');
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
const models = require('../../core/models');
const { determineProviderInfo, extractProvciderInfo } = require('../../helpers/providers.helper');
const { determineProviderInfo, extractProviderInfo } = require('../../helpers/providers.helper');
const providerComposer = (multimedia) => {
return getVimeoVideoInfo(multimedia.code)
return extractProviderInfo(multimedia.code)
}
/*const _generateThumbFileName = function (fileName, prefix) {