Preparado para registro de usuarios
This commit is contained in:
parent
e99c3ac003
commit
0f0f548c49
@ -69,22 +69,27 @@ const localPhoneOptions = {
|
|||||||
|
|
||||||
passport.use('local-phone', new LocalStrategy(localPhoneOptions, async (phone, fbuid, done) => {
|
passport.use('local-phone', new LocalStrategy(localPhoneOptions, async (phone, fbuid, done) => {
|
||||||
try {
|
try {
|
||||||
|
//Comprobamos si el usuario ya existe en nuestro sistema
|
||||||
const user = await authService.extraMethods.findUser({ phone, fbuid });
|
const user = await authService.extraMethods.findUser({ phone, fbuid });
|
||||||
|
|
||||||
if (_.isNull(user)) {
|
if (_.isNull(user)) {
|
||||||
admin.auth().getUserByPhoneNumber(phone)
|
admin.auth().getUserByPhoneNumber(phone)
|
||||||
.then(function(userRecord) {
|
.then(function(userRecord) {
|
||||||
|
console.log(userRecord.toJSON());
|
||||||
if (userRecord && userRecord.toJSON().uid == fbuid) {
|
if (userRecord && userRecord.toJSON().uid == fbuid) {
|
||||||
console.log(userRecord.toJSON());
|
if (userRecord.toJSON().disabled) {
|
||||||
console.log('DEBO COMPROBAR EL ESTADO DEL MOVIL SI ESTA HABILITADO O NO');
|
console.log('aaaaa');
|
||||||
const user = authService.extraMethods.createUser({phone, fbuid});
|
return done(null, false, { message: 'User disabled in fb' });
|
||||||
console.log('dar de alta el usuario')
|
}
|
||||||
}
|
else {
|
||||||
else {
|
console.log('bbbbbb');
|
||||||
console.log("Me quieres engañar ");
|
return done(null, true, { message: 'Register user' });
|
||||||
return done(null, false, { message: 'User not validate in fb' })
|
}
|
||||||
}
|
}
|
||||||
})
|
else {
|
||||||
|
return done(null, false, { message: 'User not validate in fb' })
|
||||||
|
}
|
||||||
|
})
|
||||||
.catch(function (error) {
|
.catch(function (error) {
|
||||||
return done(null, user, error);
|
return done(null, user, error);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -5,6 +5,7 @@ const httpStatus = require('http-status');
|
|||||||
const controllerHelper = require('../../helpers/controller.helper');
|
const controllerHelper = require('../../helpers/controller.helper');
|
||||||
const messageHelper = require('../../helpers/message.helper');
|
const messageHelper = require('../../helpers/message.helper');
|
||||||
const securityHelper = require('../../helpers/security.helper');
|
const securityHelper = require('../../helpers/security.helper');
|
||||||
|
const authService = require('./auth.service');
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -42,17 +43,32 @@ async function login(req, res, next) {
|
|||||||
|
|
||||||
async function register(req, res, next) {
|
async function register(req, res, next) {
|
||||||
try {
|
try {
|
||||||
const data = {
|
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>regsitro');
|
||||||
phone: req.user.phone,
|
|
||||||
platform: req.body.platform,
|
const values = {
|
||||||
|
phone: req.body.phone,
|
||||||
|
platform: req.body.fbuid
|
||||||
};
|
};
|
||||||
//console.log(req);
|
const token = securityHelper.generateToken(values);
|
||||||
console.log("Recoger datos del movil y guardar token en devices ");
|
|
||||||
|
const data = {
|
||||||
|
token : token,
|
||||||
|
phone: req.body.phone,
|
||||||
|
fbuid: req.body.fbuid,
|
||||||
|
email: req.body.email,
|
||||||
|
name: req.body.name,
|
||||||
|
surname: req.body.surname,
|
||||||
|
entityid: req.body.entityid,
|
||||||
|
entityname: req.body.entityname,
|
||||||
|
profile_picture: req.body.profile_picture,
|
||||||
|
accessibility: req.body.accessibility,
|
||||||
|
};
|
||||||
|
console.log(data);
|
||||||
res.json({
|
res.json({
|
||||||
token: securityHelper.generateToken(data),
|
user: await authService.extraMethods.createUser(data),
|
||||||
user: data,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
controllerHelper.handleErrorResponse(MODULE_NAME, register.name, error, res)
|
controllerHelper.handleErrorResponse(MODULE_NAME, register.name, error, res)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,14 @@ const LoginInputType = Joi.object().keys({
|
|||||||
|
|
||||||
const RegisterInputType = Joi.object().keys({
|
const RegisterInputType = Joi.object().keys({
|
||||||
phone: Joi.string().required(),
|
phone: Joi.string().required(),
|
||||||
|
email: Joi.string().required(),
|
||||||
fbuid: Joi.string().required(),
|
fbuid: Joi.string().required(),
|
||||||
|
name: Joi.string().required(),
|
||||||
|
surname: Joi.string(),
|
||||||
|
entityid: Joi.string(),
|
||||||
|
entityname: Joi.string(),
|
||||||
|
profile_picture: Joi.string(),
|
||||||
|
accessibility: Joi.string(),
|
||||||
});
|
});
|
||||||
|
|
||||||
const LoginOutputType = Joi.object().keys({
|
const LoginOutputType = Joi.object().keys({
|
||||||
|
|||||||
@ -45,6 +45,13 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
type: DataTypes.BOOLEAN,
|
type: DataTypes.BOOLEAN,
|
||||||
defaultValue: true,
|
defaultValue: true,
|
||||||
},
|
},
|
||||||
|
token: {
|
||||||
|
type: DataTypes.STRING,
|
||||||
|
},
|
||||||
|
state: {
|
||||||
|
type: DataTypes.STRING,
|
||||||
|
defaultValue: 'borrador',
|
||||||
|
},
|
||||||
lastlogin: {
|
lastlogin: {
|
||||||
type: DataTypes.DATE,
|
type: DataTypes.DATE,
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
|
|||||||
14
modules/entities/entity.controller.js
Normal file
14
modules/entities/entity.controller.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const generateControllers = require('../../core/controllers');
|
||||||
|
const entityService = require('./entity.service');
|
||||||
|
|
||||||
|
|
||||||
|
// Module Name
|
||||||
|
const MODULE_NAME = '[entity.controller]';
|
||||||
|
|
||||||
|
const controllerOptions = { MODULE_NAME };
|
||||||
|
const extraControllers = {};
|
||||||
|
|
||||||
|
module.exports = generateControllers(entityService, extraControllers, controllerOptions);
|
||||||
|
|
||||||
21
modules/entities/entity.routes.js
Normal file
21
modules/entities/entity.routes.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
const routes = require('express').Router();
|
||||||
|
|
||||||
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||||
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||||
|
|
||||||
|
/*const PaginateMiddleware = require('../../middlewares/paginate');
|
||||||
|
const FieldMiddleware = require('../../middlewares/fields');*/
|
||||||
|
//const SortMiddleware = require('../../middlewares/sort');
|
||||||
|
|
||||||
|
//const entityValidation = require('./entity.validations');
|
||||||
|
const entityController = require('./entity.controller');
|
||||||
|
|
||||||
|
routes.get('/entities', entityController.find);
|
||||||
|
//routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find);
|
||||||
|
//routes.get('/venues/:id', isLoggedUser, venueController.findOne);
|
||||||
|
|
||||||
|
//routes.post('/entity/', SchemaValidator(VenueValidation.VenueInputType, true), venueController.create);
|
||||||
|
//routes.put('/venues/:id', isAdministratorUser, venueController.update);
|
||||||
|
//routes.delete('/venues/:id', isAdministratorUser, venueController.delete);
|
||||||
|
|
||||||
|
module.exports = routes;
|
||||||
10
modules/entities/entity.service.js
Normal file
10
modules/entities/entity.service.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* global Venue */
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const _ = require('lodash');
|
||||||
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||||
|
const models = require('../../core/models');
|
||||||
|
|
||||||
|
const extraMethods = {};
|
||||||
|
|
||||||
|
module.exports = generateService(models.Entity, extraMethods);
|
||||||
15
modules/entities/entity.validations.js
Normal file
15
modules/entities/entity.validations.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
const Joi = require('joi');
|
||||||
|
|
||||||
|
//const EntityInputType = Joi.object().keys({
|
||||||
|
// name: Joi.string().required(),
|
||||||
|
//});
|
||||||
|
/*
|
||||||
|
const EntityOutputType = Joi.object().keys({
|
||||||
|
name: Joi.string().required(),
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
//module.exports = {
|
||||||
|
// EntityInputType,
|
||||||
|
// EntityOutputType
|
||||||
|
//};
|
||||||
Loading…
Reference in New Issue
Block a user