This commit is contained in:
David Arranz 2019-08-05 20:04:29 +02:00
parent 6ff351a07c
commit d2219e66f1
2 changed files with 43 additions and 3 deletions

View File

@ -6,15 +6,21 @@ const { cacheSuccesses } = require('../../middlewares/cache');
//const SchemaValidator = require('../../middlewares/schemaValidator');
const PaginateMiddleware = require('../../middlewares/paginate');
//const FieldMiddleware = require('../../middlewares/fields');
const FieldMiddleware = require('../../middlewares/fields');
const SortMiddleware = require('../../middlewares/sort');
//const VenueValidation = require('./venue.validations');
const multimediaController = require('./multimedia.controller');
const generalInvalidFields = [
'userId', 'createdAt', 'updatedAt',
];
routes.get('/multimedias', //cacheSuccesses('24 hours'),
isLoggedUser,
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
PaginateMiddleware.middleware(),
//SortMiddleware.middleware({ default: "init_available_date" }),
multimediaController.find({
@ -24,6 +30,9 @@ routes.get('/multimedias', //cacheSuccesses('24 hours'),
routes.get('/multimedias/:id', //cacheSuccesses('24 hours'),
isLoggedUser,
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
//PaginateMiddleware.middleware(),
//SortMiddleware.middleware({ default: "init_available_date" }),
multimediaController.findOne({

View File

@ -4,13 +4,44 @@
const _ = require('lodash');
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
const models = require('../../core/models');
const cdnHelper = require('../../helpers/cdn.helper');
const getVimeoVideoInfo = require('../../helpers/vimeo.helper');
const providerComposer = (multimedia) => {
return getVimeoVideoInfo(multimedia.code)
if (multimedia.provider === 'vimeo') {
multimedia.providerInfo = getVimeoVideoInfo(multimedia.code)
} else if (multimedia.provider === 'cdn') {
multimedia.url = cdnHelper.getCDNMediaUrl(multimedia.url);
}
return multimedia;
}
const extraMethods = {
afterFetchAll: (result, params, context) => {
if (!result.count) {
return result;
}
let rows = result.rows.map(function(row) {
let result = row.toJSON();
result = Object.assign(result, result.multimediaFile, { multimediaFile: undefined })
delete result.createdAt;
delete result.updatedAt;
delete result.userId;
return providerComposer(result);
});
return {
count: result.count,
rows: rows
}
},
afterFetchOne: async (result, params, context) => {
if (!result) {
return result;