From 9b9621462fed1bc8170cb409108879721cbb7a91 Mon Sep 17 00:00:00 2001 From: david Date: Mon, 9 Sep 2019 12:06:29 +0200 Subject: [PATCH] a --- core/passport.js | 9 +++++++++ modules/auth/user.model.js | 3 +++ modules/auth/user.service.js | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/core/passport.js b/core/passport.js index f6f1402..c7e0dc2 100644 --- a/core/passport.js +++ b/core/passport.js @@ -7,6 +7,7 @@ const { Strategy: CustomStrategy } = require('passport-custom'); const models = require('./models'); const securityHelper = require('../helpers/security.helper'); const authService = require('../modules/auth/auth.service'); +const userService = require('../modules/auth/user.service'); /** * Validación sobre firebase @@ -99,6 +100,8 @@ console.log('PASSPORT - local-phone'); // JWT passport.use('jwt', new CustomStrategy(async (req, done) => { const token = ((req && req.headers && req.headers['x-access-token']) ? req.headers['x-access-token'] : null); + const appVersion = ((req && req.headers && req.headers['accept-version']) ? req.headers['accept-version'] : null); + console.log('appVEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErsion: ', appVersion); if (!token) { //console.log('no tengo token'); @@ -113,6 +116,12 @@ passport.use('jwt', new CustomStrategy(async (req, done) => { let user = await authService.extraMethods.findUser({ id: result.id }); if (user) { user = user.toJSON(); + if (appVersion) { + if (user.app_version != appVersion){ + const result = userService._updateAppVersionUser(user.id, appVersion); + console.log('PRUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEBA>>>> ', result); + } + } delete user.password; //console.log('Usuario encontrado', user); return done(null, user, { message: 'Logged in Successfully' }); diff --git a/modules/auth/user.model.js b/modules/auth/user.model.js index 39c164d..7ccfc14 100644 --- a/modules/auth/user.model.js +++ b/modules/auth/user.model.js @@ -48,6 +48,9 @@ module.exports = function (sequelize, DataTypes) { type: DataTypes.STRING, defaultValue: 'active', }, + app_version: { + type: DataTypes.STRING, + }, level: { type: DataTypes.INTEGER, defaultValue: 1, diff --git a/modules/auth/user.service.js b/modules/auth/user.service.js index 196bfe2..8ec1a21 100644 --- a/modules/auth/user.service.js +++ b/modules/auth/user.service.js @@ -24,6 +24,13 @@ const extraMethods = { }) }, + _updateAppVersionUser: async (Id, appVersion) => { + return models.User.update ( + { app_version : appVersion, }, + {where: { id: Id}}, + ); + }, + _getOrCreateUser: async (dataUser) => { let result = null;