From 785dfef531ab6bc53ec0fbf68f2a8e2830bf4aee Mon Sep 17 00:00:00 2001 From: Lemuel Marquez Date: Wed, 28 Apr 2021 00:21:24 -0500 Subject: [PATCH] obtener info de un usuario --- server/controller/Operador/crear.js | 2 +- server/controller/Operador/login.js | 2 +- server/controller/Prestamo/activos.js | 0 server/controller/Prestamo/historial.js | 0 .../controller/Prestamo/historialUsuario.js | 0 server/controller/Usuario/crear.js | 39 +++++++------------ server/controller/Usuario/get.js | 21 ++++++++++ server/db/data-fake.js | 33 ++++++++++++++++ server/db/tablas/Usuario.js | 2 +- server/routes/Usuario.js | 11 ++++++ server/routes/index.js | 1 + 11 files changed, 84 insertions(+), 27 deletions(-) create mode 100644 server/controller/Prestamo/activos.js create mode 100644 server/controller/Prestamo/historial.js create mode 100644 server/controller/Prestamo/historialUsuario.js create mode 100644 server/controller/Usuario/get.js diff --git a/server/controller/Operador/crear.js b/server/controller/Operador/crear.js index 68a94df..7dac687 100644 --- a/server/controller/Operador/crear.js +++ b/server/controller/Operador/crear.js @@ -4,7 +4,7 @@ const Operador = require('../../db/tablas/Operador'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); const crear = async (body) => { - const operador = validar.validar(body.usuario, 'El operador', 60); + const operador = validar.validar(body.operador, 'El operador', 60); const password = validar.validarAlfanumerico( body.password, 'La contraseña', diff --git a/server/controller/Operador/login.js b/server/controller/Operador/login.js index 758df59..a16c5f3 100644 --- a/server/controller/Operador/login.js +++ b/server/controller/Operador/login.js @@ -5,7 +5,7 @@ const Operador = require('../../db/tablas/Operador'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); const login = async (body) => { - const operador = validar.validar(body.usuario, 'El operador', 60); + const operador = validar.validar(body.operador, 'El operador', 60); const password = validar.validarAlfanumerico( body.password, 'La contraseña', diff --git a/server/controller/Prestamo/activos.js b/server/controller/Prestamo/activos.js new file mode 100644 index 0000000..e69de29 diff --git a/server/controller/Prestamo/historial.js b/server/controller/Prestamo/historial.js new file mode 100644 index 0000000..e69de29 diff --git a/server/controller/Prestamo/historialUsuario.js b/server/controller/Prestamo/historialUsuario.js new file mode 100644 index 0000000..e69de29 diff --git a/server/controller/Usuario/crear.js b/server/controller/Usuario/crear.js index abd4c7c..b27d305 100644 --- a/server/controller/Usuario/crear.js +++ b/server/controller/Usuario/crear.js @@ -1,32 +1,23 @@ +const gmail = require('../../helper/gmail'); const encriptar = require('../../helper/encriptar'); const validar = require('../../helper/validar'); -const { crearToken } = require('../../middleware/autentificacion'); const Usuario = require('../../db/tablas/Usuario'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); -const login = async (body) => { - const usuario = validar.validar(body.usuario, 'El usuario', 60); - const password = validar.validarAlfanumerico( - body.password, - 'La contraseña', - 20 - ); +const crear = async (body) => { + const usuario = validar.validar(body.usuario, 'El operador', 60); + const password = encriptar.generarPassword(); - return Usuario.findOne({ - where: { usuario }, - include: [{ model: TipoUsuario }], - }).then((res) => { - if (!res) throw new Error('No existe este usuario.'); - // if (!res.activo) throw new Error('Este usuario no esta activo.'); - if (encriptar.comparar(password, res.password)) { - delete res.dataValues.password; - return { - Usuario: res, - token: crearToken(res.idUsuario), - }; - } - throw new Error('La contraseña es incorrecta'); - }); + return Usuario.findOne({ where: { usuario } }) + .then((res) => { + if (res) throw new Error('Este usuario ya existe. Trata con otro.'); + return Operador.create({ + operador, + password: encriptar.encriptar(password), + idTipoUsuario: 2, + }); + }) + .then((res) => ({ message: 'Se creo un nuevo usuario correctamente.' })); }; -module.exports = login; +module.exports = crear; diff --git a/server/controller/Usuario/get.js b/server/controller/Usuario/get.js new file mode 100644 index 0000000..09fdf62 --- /dev/null +++ b/server/controller/Usuario/get.js @@ -0,0 +1,21 @@ +const validar = require('../../helper/validar'); +const Usuario = require('../../db/tablas/Usuario'); +const Carrera = require('../../db/tablas/Carrera'); +const TipoUsuario = require('../../db/tablas/TipoUsuario'); + +const get = async (body) => { + const usuario = validar.validarNumeroCuenta(body.usuario); + + return Usuario.findOne({ + where: { usuario }, + include: [{ model: TipoUsuario }, { model: Carrera }], + }).then((res) => { + if (!res) throw new Error('No existe este usuario.'); + delete res.dataValues.password; + delete res.dataValues.idTipoUsuario; + delete res.dataValues.idCarrera; + return res; + }); +}; + +module.exports = get; diff --git a/server/db/data-fake.js b/server/db/data-fake.js index e69de29..0fa11e1 100644 --- a/server/db/data-fake.js +++ b/server/db/data-fake.js @@ -0,0 +1,33 @@ +const Usuario = require('./tablas/Usuario'); +const { encriptar } = require('../helper/encriptar'); + +const dataUsuarios = async () => { + let usuario = ['316313528', '111111111', '222222222']; + let nombre = [ + 'Lemuel Helon Marquez Rosas', + 'Nombre Falso 1', + 'Nombre Falso 2', + ]; + + for (let i = 0; i < usuario.length; i++) { + await Usuario.create({ + usuario: usuario[i], + nombre: nombre[i], + password: encriptar('holi'), + telefono: '55-####-####', + idTipoUsuario: 4, + idCarrera: 1, + }); + } +}; + +const exec = async() => { + await dataUsuarios(); + console.log( + '\nSe ha instalado exitosamente la información falsa en la base de datos.\n' + .underline.bold.green + ); + process.exit(); +}; + +exec(); diff --git a/server/db/tablas/Usuario.js b/server/db/tablas/Usuario.js index a1a4535..5f85b8d 100644 --- a/server/db/tablas/Usuario.js +++ b/server/db/tablas/Usuario.js @@ -33,6 +33,7 @@ Usuario.init( multa: { type: DataTypes.BOOLEAN, allowNull: false, + defaultValue: false, }, }, { @@ -55,7 +56,6 @@ Usuario.belongsTo(Carrera, { foreignKey: { name: 'idCarrera', type: DataTypes.INTEGER, - allowNull: false, }, }); diff --git a/server/routes/Usuario.js b/server/routes/Usuario.js index 75c4cb5..fa6ec29 100644 --- a/server/routes/Usuario.js +++ b/server/routes/Usuario.js @@ -3,6 +3,7 @@ const app = express(); const { verificaToken } = require('../middleware/autentificacion'); const route = '/usuario'; const login = require('../controller/Usuario/login'); +const get = require('../controller/Usuario/get'); app.post(`${route}/login`, (req, res) => { return login(req.body) @@ -14,4 +15,14 @@ app.post(`${route}/login`, (req, res) => { }); }); +app.get(`${route}`, (req, res) => { + return get(req.query) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + module.exports = app; diff --git a/server/routes/index.js b/server/routes/index.js index 27a25a1..992afaa 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -2,6 +2,7 @@ const express = require('express'); const app = express(); app.use(require('./Operador')); +app.use(require('./Usuario')); app.use(require('./TipoCarrito')); module.exports = app;