From c224c883fbc8c9d95eb9bdbaca8b7b1ed5c4825d Mon Sep 17 00:00:00 2001 From: david Date: Tue, 6 Aug 2019 19:23:56 +0200 Subject: [PATCH] . --- core/passport.js | 8 +++++--- helpers/service.helper.js | 5 +++-- modules/speakers/speaker.service.js | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/core/passport.js b/core/passport.js index 4d35633..a019d88 100644 --- a/core/passport.js +++ b/core/passport.js @@ -50,6 +50,7 @@ passport.use('local-email', new LocalStrategy(localEmailOptions, async (email, p if (!isPasswordValid) { return done(null, false, { message: 'Wrong Password' }) } else { + user = user.toJSON(); delete user.password; return done(null, user, { message: 'Logged in Successfully' }); } @@ -113,13 +114,14 @@ passport.use('jwt', new CustomStrategy(async (req, done) => { let user = await authService.extraMethods.findUser({ id: result.id }); if (user) { console.log('Usuario válido'); + user = user.toJSON(); + delete user.password; return done(null, user, { message: 'Logged in Successfully' }); } else { - console.log('Usuario no econtrado'); + console.log('Usuario no encontrado'); return done(null, false, { message: 'Unauthorized. User not found.' }); - } - + } } else { console.log('Token no válido'); diff --git a/helpers/service.helper.js b/helpers/service.helper.js index 7bff0be..b9d2220 100644 --- a/helpers/service.helper.js +++ b/helpers/service.helper.js @@ -206,8 +206,9 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) => update: async (params, values, context) => { const findOptions = parseParamsToFindOptions(params); - console.log(findOptions); - console.log(values); + if (extraMethods.beforeUpdate) { + values = extraMethods.beforeUpdate(values, findOptions, context); + } return await model.scope(context.scopes).update(values, findOptions) }, diff --git a/modules/speakers/speaker.service.js b/modules/speakers/speaker.service.js index ff74d15..9656528 100644 --- a/modules/speakers/speaker.service.js +++ b/modules/speakers/speaker.service.js @@ -27,6 +27,33 @@ const extraMethods = { return speakerComposer(result.toJSON(), context); }, + beforeUpdate: (values, findOptions, context) => { + delete values.createdAt; + delete values.updatedAt; + delete values.userId; + + // Descomponemos RRSS + values = Object.assign(values, values.rrss, { rrss: undefined }); + + return values; + }, + + update: async (params, values, context) => { + const findOptions = parseParamsToFindOptions(params); + if (extraMethods.beforeUpdate) { + values = extraMethods.beforeUpdate(values, findOptions, context); + } + + let speaker = await models.Speaker.findOne(findOptions); + await speaker.update(values); + speaker.setValues(values.values.map(value => value.id)); + + await speaker.save(); + return [1]; + }, + + + } module.exports = generateService(models.Speaker, extraMethods); \ No newline at end of file