From a60ced94dc4af2eb08a7101307099547cd966576 Mon Sep 17 00:00:00 2001 From: david Date: Sun, 18 Aug 2019 17:08:18 +0200 Subject: [PATCH] . --- helpers/controller.helper.js | 2 +- helpers/service.helper.js | 2 +- modules/multimedia/multimedia.routes.js | 3 +- .../multimedia/multimedia_file.controller.js | 57 +------------------ modules/multimedia/multimedia_file.routes.js | 19 ++++++- modules/multimedia/multimedia_file.service.js | 4 +- 6 files changed, 25 insertions(+), 62 deletions(-) diff --git a/helpers/controller.helper.js b/helpers/controller.helper.js index ca55184..ea138a9 100644 --- a/helpers/controller.helper.js +++ b/helpers/controller.helper.js @@ -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); } diff --git a/helpers/service.helper.js b/helpers/service.helper.js index 4e8c37f..8fd39d8 100644 --- a/helpers/service.helper.js +++ b/helpers/service.helper.js @@ -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) }, diff --git a/modules/multimedia/multimedia.routes.js b/modules/multimedia/multimedia.routes.js index 94df0e6..b146f8c 100644 --- a/modules/multimedia/multimedia.routes.js +++ b/modules/multimedia/multimedia.routes.js @@ -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() ); diff --git a/modules/multimedia/multimedia_file.controller.js b/modules/multimedia/multimedia_file.controller.js index c61b806..3e062de 100644 --- a/modules/multimedia/multimedia_file.controller.js +++ b/modules/multimedia/multimedia_file.controller.js @@ -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); diff --git a/modules/multimedia/multimedia_file.routes.js b/modules/multimedia/multimedia_file.routes.js index e33a88f..99098a2 100644 --- a/modules/multimedia/multimedia_file.routes.js +++ b/modules/multimedia/multimedia_file.routes.js @@ -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() ); diff --git a/modules/multimedia/multimedia_file.service.js b/modules/multimedia/multimedia_file.service.js index 103d376..88fc24e 100644 --- a/modules/multimedia/multimedia_file.service.js +++ b/modules/multimedia/multimedia_file.service.js @@ -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) {