a
This commit is contained in:
parent
6e539efb99
commit
631cded9b6
@ -1,63 +1,76 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const cdnHelper = require('./cdn.helper');
|
const cdnHelper = require('./cdn.helper');
|
||||||
|
|
||||||
const valuesComposer = (values) => values.map(value => ({
|
const valuesComposer = (values) => (values) ? values.map(value => ({id: value.id, name: value.name,})): values;
|
||||||
id: value.id,
|
|
||||||
name: value.name,
|
|
||||||
}));
|
|
||||||
|
|
||||||
const commentsComposer = (comments) => comments.map(comment => ({
|
|
||||||
...comment,
|
|
||||||
userId: undefined,
|
|
||||||
user: {
|
|
||||||
...comment.user,
|
|
||||||
profile_picture: cdnHelper.getCDNMediaUrl(comment.user.profile_picture)
|
|
||||||
|
|
||||||
|
const commentsComposer = (comments) => {
|
||||||
|
if (comments) {
|
||||||
|
return comments.map(comment => ({
|
||||||
|
...comment,
|
||||||
|
userId: undefined,
|
||||||
|
user: {
|
||||||
|
...comment.user,
|
||||||
|
profile_picture: cdnHelper.getCDNMediaUrl(comment.user.profile_picture)
|
||||||
|
}
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
}))
|
else return comments;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const multimediaComposer = (multimedias) => multimedias.map(multimedia => ({
|
const multimediaComposer = (multimedias) => {
|
||||||
...multimedia,
|
if(multimedias) {
|
||||||
...multimedia.multimediaFile,
|
return multimedias.map(multimedia => ({
|
||||||
type: multimedia.type,
|
...multimedia,
|
||||||
media_type: multimedia.multimediaFile.type,
|
...multimedia.multimediaFile,
|
||||||
multimediaFile: undefined,
|
type: multimedia.type,
|
||||||
createdAt: undefined,
|
media_type: multimedia.multimediaFile.type,
|
||||||
updatedAt: undefined,
|
multimediaFile: undefined,
|
||||||
userId: undefined,
|
createdAt: undefined,
|
||||||
url: (multimedia.multimediaFile.provider === 'cdn') ? cdnHelper.getCDNMediaUrl(multimedia.multimediaFile.url) : multimedia.multimediaFile.url,
|
updatedAt: undefined,
|
||||||
}));
|
userId: undefined,
|
||||||
|
url: (multimedia.multimediaFile.provider === 'cdn') ? cdnHelper.getCDNMediaUrl(multimedia.multimediaFile.url) : multimedia.multimediaFile.url,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return multimedias;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const socialNetworksComposer = (speaker, context) => {
|
const socialNetworksComposer = (speaker) => {
|
||||||
return {
|
if (speaker) {
|
||||||
rrss: {
|
return {
|
||||||
twitter: speaker.twitter ? speaker.twitter : null,
|
rrss: {
|
||||||
facebook: speaker.facebook ? speaker.facebook : null,
|
twitter: speaker.twitter ? speaker.twitter : null,
|
||||||
youtube: speaker.youtube ? speaker.youtube : null,
|
facebook: speaker.facebook ? speaker.facebook : null,
|
||||||
linkedin: speaker.linkedin ? speaker.linkedin : null,
|
youtube: speaker.youtube ? speaker.youtube : null,
|
||||||
instagram: speaker.instagram ? speaker.instagram : null,
|
linkedin: speaker.linkedin ? speaker.linkedin : null,
|
||||||
web: speaker.web ? speaker.web : null
|
instagram: speaker.instagram ? speaker.instagram : null,
|
||||||
},
|
web: speaker.web ? speaker.web : null
|
||||||
twitter: undefined,
|
},
|
||||||
facebook: undefined,
|
twitter: undefined,
|
||||||
youtube: undefined,
|
facebook: undefined,
|
||||||
linkedin: undefined,
|
youtube: undefined,
|
||||||
instagram: undefined,
|
linkedin: undefined,
|
||||||
web: undefined
|
instagram: undefined,
|
||||||
};
|
web: undefined
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return speaker;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const speakerComposer = (speaker, context) => {
|
const speakerComposer = (speaker, context) => {
|
||||||
|
|
||||||
let multimedias = [];
|
let multimedias = [];
|
||||||
if (context.scopes.includes('includeMultimedias')) {
|
if ((context.scopes) && (context.scopes.includes('includeMultimedias'))) {
|
||||||
multimedias = multimediaComposer(speaker.multimedias);
|
multimedias = multimediaComposer(speaker.multimedias);
|
||||||
};
|
};
|
||||||
|
|
||||||
let comments = [];
|
let comments = [];
|
||||||
if (context.scopes.includes('includeComments')) {
|
if ((context.scopes) && (context.scopes.includes('includeComments'))) {
|
||||||
comments = commentsComposer(speaker.comments);
|
comments = commentsComposer(speaker.comments);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -79,22 +92,22 @@ const speakerComposer = (speaker, context) => {
|
|||||||
|
|
||||||
const eventComposer = (event, context) => {
|
const eventComposer = (event, context) => {
|
||||||
|
|
||||||
if (context.scopes.includes('includeVenue')) {
|
if ((context.scopes) && (context.scopes.includes('includeVenue'))){
|
||||||
delete event.venue.updatedAt;
|
delete event.venue.updatedAt;
|
||||||
delete event.venue.createdAt;
|
delete event.venue.createdAt;
|
||||||
event.venue.image_url = cdnHelper.getCDNCityMediaUrl(event.venue.city);
|
event.venue.image_url = cdnHelper.getCDNCityMediaUrl(event.venue.city);
|
||||||
};
|
};
|
||||||
|
|
||||||
let multimedias = []
|
let multimedias = []
|
||||||
if (context.scopes.includes('includeMultimedias')) {
|
if ((context.scopes) && (context.scopes.includes('includeMultimedias'))) {
|
||||||
multimedias = multimediaComposer(event.multimedias)
|
multimedias = multimediaComposer(event.multimedias)
|
||||||
};
|
};
|
||||||
|
|
||||||
let speakers = []
|
let speakers = []
|
||||||
if (context.scopes.includes('includeSpeakers')) {
|
if ((context.scopes) && (context.scopes.includes('includeSpeakers'))) {
|
||||||
speakers = event.details.map((detail) => ({
|
speakers = event.details.map((detail) => ({
|
||||||
order: detail.order,
|
order: detail.order,
|
||||||
...speakerComposer(detail.speaker),
|
...speakerComposer(detail.speaker, context),
|
||||||
}))
|
}))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -121,6 +121,12 @@ routes.get('/events/:id/inscriptions',
|
|||||||
eventController.getInscription,
|
eventController.getInscription,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Esto da las inscripciones (1) de un usuario pero si el usuario fuera el administrador podría todas las inscripciones de un evento
|
||||||
|
routes.get('/inscriptions/:id/inscriptions',
|
||||||
|
isLoggedUser,
|
||||||
|
eventController.getInscription,
|
||||||
|
);
|
||||||
|
|
||||||
// Hacer una inscripción
|
// Hacer una inscripción
|
||||||
routes.post('/events/:id/inscriptions',
|
routes.post('/events/:id/inscriptions',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
|
|||||||
@ -25,7 +25,6 @@ const extraMethods = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
afterFetchOne: (result, params, context) => {
|
afterFetchOne: (result, params, context) => {
|
||||||
if (result)
|
if (result)
|
||||||
result = result.toJSON();
|
result = result.toJSON();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user