From 8ca7364c7ffe183a513f798b8538389361185adc Mon Sep 17 00:00:00 2001 From: david Date: Mon, 9 Sep 2019 16:36:45 +0200 Subject: [PATCH] a --- core/passport.js | 3 ++- modules/auth/auth.controller.js | 43 +++++++++++++++++++----------- modules/auth/user.service.js | 11 +++++--- modules/events/event.controller.js | 8 +++++- 4 files changed, 45 insertions(+), 20 deletions(-) diff --git a/core/passport.js b/core/passport.js index c7e0dc2..61ccc81 100644 --- a/core/passport.js +++ b/core/passport.js @@ -118,8 +118,9 @@ passport.use('jwt', new CustomStrategy(async (req, done) => { user = user.toJSON(); if (appVersion) { if (user.app_version != appVersion){ - const result = userService._updateAppVersionUser(user.id, appVersion); + const result = userService._updateLastLoginAndVersionUser(user.id, appVersion); console.log('PRUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEBA>>>> ', result); + user.app_version = appVersion; } } delete user.password; diff --git a/modules/auth/auth.controller.js b/modules/auth/auth.controller.js index b81df01..1241423 100644 --- a/modules/auth/auth.controller.js +++ b/modules/auth/auth.controller.js @@ -1,13 +1,14 @@ 'use strict'; const _ = require('lodash'); +const moment = require('moment'); const httpStatus = require('http-status'); const controllerHelper = require('../../helpers/controller.helper'); const crypto = require('crypto'); const securityHelper = require('../../helpers/security.helper'); const authService = require('./auth.service'); const eventInscriptionService = require('../events/events_inscriptions.service'); - +moment.locale('es'); //////////////////////////////////////////////////////////////////////////////// // CONSTANTS @@ -43,20 +44,11 @@ async function login(req, res, next) { } } -async function login2(req, res, next) { - try { - res.status(httpStatus.OK).json({ -// token: tokens.token, -// refreshToken: tokens.refreshToken, -// user: data, - }) - } catch (error) { - return controllerHelper.handleErrorResponse(MODULE_NAME, login.name, error, res) - } -} - async function loginWithPhone(req, res, next) { try { + const appVersion = ((req && req.headers && req.headers['accept-version']) ? req.headers['accept-version'] : null); + console.log('loginWithPhone - appVEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErsion: ', appVersion); + console.log(req.user); const findOptions = { phone: req.user.phoneNumber, @@ -67,6 +59,14 @@ async function loginWithPhone(req, res, next) { let _user = await authService.extraMethods.findUserByPhone(req.user.phoneNumber); if (_user) { _user = _user.toJSON(); + if (appVersion) { + if (user.app_version != appVersion) { + const result = userService._updateAppVersionUser(user.id, appVersion); + console.log('PRUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEBA>>>> ', result); + user.app_version = appVersion; + } + } + const tokenData = { id: _user.id, @@ -112,6 +112,10 @@ async function register(req, res, next) { fbuid: req.body.fbuid }; + const appVersion = ((req && req.headers && req.headers['accept-version']) ? req.headers['accept-version'] : null); + console.log('loginWithPhone - appVEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErsion: ', appVersion); + + //Comprobamos si el usuario ya existe en nuestro sistema let newUser = await authService.extraMethods.findUserByPhone(values.phone); console.log('COMPROBAMOS IS EXISTE EN NUESTRO SISTEMA', newUser); @@ -125,7 +129,9 @@ console.log('COMPROBAMOS IS EXISTE EN NUESTRO SISTEMA', newUser); name: req.body.name, surname: req.body.surname, entityid: req.body.entityid, - accessibility: req.body.accesssibility + accessibility: req.body.accesssibility, + app_version: appVersion, + lastlogin: moment().utc(), }; newUser = await authService.extraMethods.createUser(data); @@ -139,6 +145,14 @@ console.log('CREAMOS EL USUARIO EN NUESTRO SISTEMA', newUser); if (newUser) { newUser = newUser.toJSON(); newUser = cleanAdminData(newUser); + if (appVersion) { + if (user.app_version != appVersion) { + const result = userService._updateLastLoginAndVersionUser(user.id, appVersion); + console.log('PRUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEBA>>>> ', result); + newUser.app_version = appVersion; + } + } + const tokenData = { phone: values.phone, @@ -238,7 +252,6 @@ async function singup(req, res, next) { module.exports = { login, - login2, loginWithPhone, register, regenerateToken, diff --git a/modules/auth/user.service.js b/modules/auth/user.service.js index 8ec1a21..f7cbe1c 100644 --- a/modules/auth/user.service.js +++ b/modules/auth/user.service.js @@ -2,9 +2,11 @@ 'use strict'; const _ = require('lodash'); +const moment = require('moment'); const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper'); const models = require('../../core/models'); const Sequelize = require('sequelize'); +moment.locale('es'); const extraMethods = { @@ -24,10 +26,13 @@ const extraMethods = { }) }, - _updateAppVersionUser: async (Id, appVersion) => { + _updateLastLoginAndVersionUser: async (Id, appVersion) => { return models.User.update ( - { app_version : appVersion, }, - {where: { id: Id}}, + { app_version : appVersion, + lastlogin: moment().utc() }, + { + where: { id: Id} + }, ); }, diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 5430dce..ab2d4ac 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -26,6 +26,9 @@ const extraControllers = { checkReservationCode: async (req, res, next) => { const params = extractParamsFromRequest(req, res, {}); + const appVersion = ((req && req.headers && req.headers['accept-version']) ? req.headers['accept-version'] : null); + console.log('checkReservationCode - appVEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErsion: ', appVersion); + const eventId = params.params.id; const encodedInvitationCode = params.params.encodedInvitationCode; @@ -34,7 +37,10 @@ const extraControllers = { try { const result = await eventReservationService._getReservaByCode(eventId, registrationCode); - return handleResultResponse(!!result, null, params, res, httpStatus.OK); + if (appVersion && (appVersion = '1.0.3')) + return handleResultResponse(result, null, params, res, httpStatus.OK) + else + return handleResultResponse(!!result, null, params, res, httpStatus.OK); } catch(error) { return handleErrorResponse(MODULE_NAME, 'checkReservationCode', error, res) }