aa
This commit is contained in:
parent
894393a954
commit
2880dd26a2
102
helpers/composes.helper.js
Normal file
102
helpers/composes.helper.js
Normal file
@ -0,0 +1,102 @@
|
||||
'use strict';
|
||||
|
||||
const valuesComposer = (values) => values.map(value => ({
|
||||
id: value.id,
|
||||
name: value.name,
|
||||
}));
|
||||
|
||||
const multimediaComposer = (multimedias) => multimedias.map(multimedia => ({
|
||||
...multimedia,
|
||||
...multimedia.MultimediaFile,
|
||||
type: multimedia.type,
|
||||
media_type: multimedia.MultimediaFile.type,
|
||||
MultimediaFile: undefined,
|
||||
createdAt: undefined,
|
||||
updatedAt: undefined,
|
||||
userId: undefined,
|
||||
}));
|
||||
|
||||
const socialNetworksComposer = (speaker, context) => {
|
||||
return {
|
||||
rrss: {
|
||||
twitter: speaker.twitter ? speaker.twitter : null,
|
||||
facebook: speaker.facebook ? speaker.facebook : null,
|
||||
youtube: speaker.youtube ? speaker.youtube : null,
|
||||
linkedin: speaker.linkedin ? speaker.linkedin : null,
|
||||
instagram: speaker.instagram ? speaker.instagram : null,
|
||||
web: speaker.web ? speaker.web : null
|
||||
},
|
||||
twitter: undefined,
|
||||
facebook: undefined,
|
||||
youtube: undefined,
|
||||
linkedin: undefined,
|
||||
instagram: undefined,
|
||||
web: undefined
|
||||
};
|
||||
};
|
||||
|
||||
const speakerComposer = (speaker, context) => {
|
||||
let multimedias = []
|
||||
if (context.scopes.includes('includeMultimedias')) {
|
||||
multimedias = multimediaComposer(speaker.multimedias)
|
||||
};
|
||||
|
||||
speaker.typename = speaker.type.name;
|
||||
delete speaker.type;
|
||||
|
||||
speaker.values = valuesComposer(speaker.values);
|
||||
|
||||
const rrss = socialNetworksComposer(speaker, context);
|
||||
|
||||
return Object.assign({},
|
||||
speaker,
|
||||
rrss,
|
||||
{ multimedias: multimedias },
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
const eventComposer = (event, context) => {
|
||||
|
||||
if (context.scopes.includes('includeVenue')) {
|
||||
delete event.venue.updatedAt;
|
||||
delete event.venue.createdAt;
|
||||
};
|
||||
|
||||
let multimedias = []
|
||||
if (context.scopes.includes('includeMultimedias')) {
|
||||
multimedias = multimediaComposer(event.multimedias)
|
||||
};
|
||||
|
||||
let speakers = []
|
||||
if (context.scopes.includes('includeSpeakers')) {
|
||||
speakers = event.details.map((detail) => ({
|
||||
order: detail.order,
|
||||
...speakerComposer(detail.speaker),
|
||||
}))
|
||||
};
|
||||
|
||||
return Object.assign({},
|
||||
event,
|
||||
{ multimedias: multimedias },
|
||||
{ details: undefined },
|
||||
{ speakers: speakers }
|
||||
)
|
||||
};
|
||||
|
||||
const entityComposer = (entity, context) => {
|
||||
|
||||
delete entity.contact_person;
|
||||
delete entity.contact_email;
|
||||
|
||||
return Object.assign({},
|
||||
entity,
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
module.exports = {
|
||||
entityComposer,
|
||||
speakerComposer,
|
||||
eventComposer
|
||||
}
|
||||
@ -4,18 +4,9 @@
|
||||
const _ = require('lodash');
|
||||
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||
const models = require('../../core/models');
|
||||
const { entityComposer } = require('../../helpers/composes.helper');
|
||||
|
||||
|
||||
const entityComposer = (entity, context) => {
|
||||
|
||||
delete entity.contact_person;
|
||||
delete entity.contact_email;
|
||||
|
||||
return Object.assign({},
|
||||
entity,
|
||||
)
|
||||
};
|
||||
|
||||
const extraMethods = {
|
||||
|
||||
afterFetchAll: (result, params, context) => {
|
||||
|
||||
@ -6,59 +6,13 @@ const moment = require('moment');
|
||||
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||
const Sequelize = require('sequelize');
|
||||
const models = require('../../core/models');
|
||||
|
||||
|
||||
const multimediaComposer = (multimedias) => multimedias.map(multimedia => ({
|
||||
...multimedia,
|
||||
...multimedia.MultimediaFile,
|
||||
type: multimedia.type,
|
||||
media_type: multimedia.MultimediaFile.type,
|
||||
MultimediaFile: undefined,
|
||||
createdAt: undefined,
|
||||
updatedAt: undefined,
|
||||
userId: undefined,
|
||||
}));
|
||||
|
||||
const speakerComposer = (speaker, context) => {
|
||||
delete speaker.createdAt;
|
||||
delete speaker.updatedAt;
|
||||
return {...speaker,
|
||||
multimedias: multimediaComposer(speaker.multimedias),
|
||||
}
|
||||
}
|
||||
|
||||
const eventComposer = (event, context) => {
|
||||
|
||||
if (context.scopes.includes('includeVenue')) {
|
||||
delete event.venue.updatedAt;
|
||||
delete event.venue.createdAt;
|
||||
};
|
||||
|
||||
let multimedias = []
|
||||
if (context.scopes.includes('includeMultimedias')) {
|
||||
multimedias = multimediaComposer(event.multimedias)
|
||||
};
|
||||
|
||||
let speakers = []
|
||||
if (context.scopes.includes('includeSpeakers')) {
|
||||
speakers = event.details.map((detail) => ({
|
||||
order: detail.order,
|
||||
... speakerComposer(detail.speaker),
|
||||
}))
|
||||
};
|
||||
|
||||
return Object.assign({},
|
||||
event,
|
||||
{ multimedias: multimedias },
|
||||
{ details: undefined },
|
||||
{ speakers: speakers }
|
||||
)
|
||||
};
|
||||
const { eventComposer } = require('../../helpers/composes.helper');
|
||||
|
||||
|
||||
const extraMethods = {
|
||||
|
||||
afterFetchAll: (result, params, context) => {
|
||||
|
||||
|
||||
if (!result.count) {
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -5,63 +5,9 @@ const _ = require('lodash');
|
||||
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||
const Sequelize = require('sequelize');
|
||||
const models = require('../../core/models');
|
||||
const { speakerComposer } = require('../../helpers/composes.helper');
|
||||
|
||||
|
||||
const multimediaComposer = (multimedias) => multimedias.map(multimedia => ({
|
||||
...multimedia,
|
||||
...multimedia.MultimediaFile,
|
||||
type: multimedia.type,
|
||||
media_type: multimedia.MultimediaFile.type,
|
||||
MultimediaFile: undefined,
|
||||
createdAt: undefined,
|
||||
updatedAt: undefined,
|
||||
userId: undefined,
|
||||
}));
|
||||
|
||||
const valuesComposer = (values) => values.map(value => ({
|
||||
id: value.id,
|
||||
name: value.name,
|
||||
}));
|
||||
|
||||
|
||||
const socialNetworksComposer = (speaker, context) => {
|
||||
return {
|
||||
rrss: {
|
||||
twitter: speaker.twitter ? speaker.twitter : null,
|
||||
facebook: speaker.facebook ? speaker.facebook : null,
|
||||
youtube: speaker.youtube ? speaker.youtube : null,
|
||||
linkedin: speaker.linkedin ? speaker.linkedin : null,
|
||||
instagram: speaker.instagram ? speaker.instagram : null,
|
||||
web: speaker.web ? speaker.web : null
|
||||
},
|
||||
twitter: undefined,
|
||||
facebook: undefined,
|
||||
youtube: undefined,
|
||||
linkedin: undefined,
|
||||
instagram: undefined,
|
||||
web: undefined
|
||||
};
|
||||
};
|
||||
|
||||
const speakerComposer = (speaker, context) => {
|
||||
let multimedias = []
|
||||
if (context.scopes.includes('includeMultimedias')) {
|
||||
multimedias = multimediaComposer(speaker.multimedias)
|
||||
};
|
||||
|
||||
speaker.typename = speaker.type.name;
|
||||
delete speaker.type;
|
||||
|
||||
speaker.values = valuesComposer(speaker.values);
|
||||
|
||||
const rrss = socialNetworksComposer(speaker, context);
|
||||
|
||||
return Object.assign({},
|
||||
speaker,
|
||||
rrss,
|
||||
{ multimedias: multimedias },
|
||||
)
|
||||
};
|
||||
|
||||
const extraMethods = {
|
||||
afterFetchAll: (result, params, context) => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user