.
This commit is contained in:
parent
759babd7d5
commit
a60ced94dc
@ -132,7 +132,7 @@ function handleErrorResponse(controllerName, methodName, error, res) {
|
|||||||
|
|
||||||
function handleResultResponse(result, totalCount = null, params, res, statusCode = httpStatus.OK) {
|
function handleResultResponse(result, totalCount = null, params, res, statusCode = httpStatus.OK) {
|
||||||
setPaginationInfo((totalCount) ? totalCount : getTotalCount(result), res);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -130,7 +130,6 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
|
|||||||
return await model.scope(context.scopes).findOne(findOptions);
|
return await model.scope(context.scopes).findOne(findOptions);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const associationName = hasAssociation(params);
|
const associationName = hasAssociation(params);
|
||||||
console.log('associationName => ', associationName);
|
console.log('associationName => ', associationName);
|
||||||
delete params.params.association;
|
delete params.params.association;
|
||||||
@ -215,6 +214,7 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
|
|||||||
if (extraMethods.beforeUpdate) {
|
if (extraMethods.beforeUpdate) {
|
||||||
values = extraMethods.beforeUpdate(values, findOptions, context);
|
values = extraMethods.beforeUpdate(values, findOptions, context);
|
||||||
}
|
}
|
||||||
|
console.log(context);
|
||||||
return await model.scope(context.scopes).update(values, findOptions)
|
return await model.scope(context.scopes).update(values, findOptions)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -57,12 +57,13 @@ const multimediasInputType = Joi.object().keys({
|
|||||||
description: Joi.string().optional(),
|
description: Joi.string().optional(),
|
||||||
type: Joi.string().required(),
|
type: Joi.string().required(),
|
||||||
class: Joi.string().required(),
|
class: Joi.string().required(),
|
||||||
|
multimediafileId: Joi.string().required()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
routes.post('/admin/multimedias/',
|
routes.post('/admin/multimedias/',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
//SchemaValidator(multimediasInputType, true),
|
SchemaValidator(multimediasInputType, true),
|
||||||
//uploader.single('file'),
|
//uploader.single('file'),
|
||||||
multimediaController.create()
|
multimediaController.create()
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,67 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const httpStatus = require('http-status');
|
|
||||||
var configuration = require('../../config');
|
|
||||||
const generateControllers = require('../../core/controllers');
|
const generateControllers = require('../../core/controllers');
|
||||||
const multimediaFileService = require('./multimedia_file.service');
|
const multimediaFileService = require('./multimedia_file.service');
|
||||||
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
|
||||||
|
|
||||||
|
|
||||||
// Module Name
|
// Module Name
|
||||||
const MODULE_NAME = '[multimediaFile.controller]';
|
const MODULE_NAME = '[multimediaFile.controller]';
|
||||||
|
|
||||||
const controllerOptions = { MODULE_NAME };
|
const controllerOptions = { MODULE_NAME };
|
||||||
|
const extraControllers = {};
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = generateControllers(multimediaFileService, extraControllers, controllerOptions);
|
module.exports = generateControllers(multimediaFileService, extraControllers, controllerOptions);
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
const routes = require('express').Router();
|
const routes = require('express').Router();
|
||||||
|
const config = require('../../config');
|
||||||
// Uploader
|
// Uploader
|
||||||
const cdnUpload = require('../../middlewares/uploader.js');
|
const cdnUpload = require('../../middlewares/uploader.js');
|
||||||
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||||
@ -47,14 +48,30 @@ routes.post('/admin/multimediafiles/',
|
|||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
SchemaValidator(multimediaFilesInputType, true),
|
SchemaValidator(multimediaFilesInputType, true),
|
||||||
cdnUpload().single('file'),
|
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()
|
multimediaFileController.create()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Modificación
|
// Modificación
|
||||||
routes.put('/admin/multimediafiles/:id',
|
routes.put('/admin/multimediafiles/:id',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
SchemaValidator(multimediaFilesInputType, true),
|
//SchemaValidator(multimediaFilesInputType, true),
|
||||||
cdnUpload().single('file'),
|
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()
|
multimediaFileController.update()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -13,10 +13,10 @@ const sharp = require('sharp');
|
|||||||
const config = require('../../config');
|
const config = require('../../config');
|
||||||
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||||
const models = require('../../core/models');
|
const models = require('../../core/models');
|
||||||
const { determineProviderInfo, extractProvciderInfo } = require('../../helpers/providers.helper');
|
const { determineProviderInfo, extractProviderInfo } = require('../../helpers/providers.helper');
|
||||||
|
|
||||||
const providerComposer = (multimedia) => {
|
const providerComposer = (multimedia) => {
|
||||||
return getVimeoVideoInfo(multimedia.code)
|
return extractProviderInfo(multimedia.code)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*const _generateThumbFileName = function (fileName, prefix) {
|
/*const _generateThumbFileName = function (fileName, prefix) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user