'use strict'; const httpStatus = require('http-status'); const generateControllers = require('../../core/controllers'); const { buildContext } = require('../../core/controllers'); const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper'); const multimediaService = require('./multimedia.service'); const multimediaFileService = require('./multimedia_file.service'); const cdnHelper = require('../../helpers/cdn.helper'); // Module Name const MODULE_NAME = '[multimedia.controller]'; const controllerOptions = { MODULE_NAME }; const extraControllers = { create: (config) => { return async (req, res, next) => { try { var file = req.file; var data = req.body; console.log(file); console.log(data); // ¿Hay fichero? if (!file || !file.buffer) { return handleResultResponse('Multimediafile is missing', null, null, res, httpStatus.BAD_REQUEST); } var CDNFilePath = cdnHelper.getCDNFilenameWithPath(file.originalname, 'speaker'); console.log('CDNFilePath', CDNFilePath); const context = buildContext(req, config); await multimediaFileService.uploadFile(file, CDNFilePath, data, context); const result = await multimediaService.create(data, context); return handleResultResponse(result, null, null, res, httpStatus.CREATED) } catch (error) { return handleErrorResponse(MODULE_NAME, 'create', error, res) } } }, }; module.exports = generateControllers(multimediaService, extraControllers, controllerOptions);