diff --git a/server/controller/Operador/login.js b/server/controller/Operador/login.js new file mode 100644 index 0000000..9afc5e5 --- /dev/null +++ b/server/controller/Operador/login.js @@ -0,0 +1,32 @@ +const encriptar = require('../../helper/encriptar'); +const validar = require('../../helper/validar'); +const { crearToken } = require('../../middleware/autentificacion'); +const Operador = require('../../db/tablas/Operador'); +const TipoUsuario = require('../../db/tablas/TipoUsuario'); + +const login = async (body) => { + const operador = validar.validar(body.usuario, 'El usuario', 60); + const password = validar.validarAlfanumerico( + body.password, + 'La contraseña', + 20 + ); + + return Operador.findOne({ + where: { operador }, + 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 { + Operador: res, + token: crearToken(res.idOperador), + }; + } + throw new Error('La contraseña es incorrecta'); + }); +}; + +module.exports = login; diff --git a/server/controller/Usuario/login.js b/server/controller/Usuario/login.js new file mode 100644 index 0000000..abd4c7c --- /dev/null +++ b/server/controller/Usuario/login.js @@ -0,0 +1,32 @@ +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 + ); + + 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'); + }); +}; + +module.exports = login; diff --git a/server/routes/Equipo.js b/server/routes/Equipo.js new file mode 100644 index 0000000..5317bf2 --- /dev/null +++ b/server/routes/Equipo.js @@ -0,0 +1,17 @@ +const express = require('express'); +const app = express(); +const { verificaToken } = require('../middleware/autentificacion'); +const route = '/equipo'; +// const get = require('../controller/Status/get'); + +// app.get(`${route}`, verificaToken, (req, res) => { +// return get() +// .then((data) => { +// res.status(200).json(data); +// }) +// .catch((err) => { +// res.status(400).json(err); +// }); +// }); + +module.exports = app; diff --git a/server/routes/Operador.js b/server/routes/Operador.js new file mode 100644 index 0000000..8ce686e --- /dev/null +++ b/server/routes/Operador.js @@ -0,0 +1,18 @@ +const express = require('express'); +const app = express(); +const { verificaToken } = require('../middleware/autentificacion'); +const route = '/operador'; +const login = require('../controller/Operador/login'); + +app.post(`${route}/login`, (req, res) => { + return login(req.body) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + console.log(err); + res.status(400).json({ message: err.message }); + }); +}); + +module.exports = app; diff --git a/server/routes/Prestamo.js b/server/routes/Prestamo.js new file mode 100644 index 0000000..b8af988 --- /dev/null +++ b/server/routes/Prestamo.js @@ -0,0 +1,17 @@ +const express = require('express'); +const app = express(); +const { verificaToken } = require('../middleware/autentificacion'); +const route = '/prestamo'; +// const get = require('../controller/Status/get'); + +// app.get(`${route}`, verificaToken, (req, res) => { +// return get() +// .then((data) => { +// res.status(200).json(data); +// }) +// .catch((err) => { +// res.status(400).json(err); +// }); +// }); + +module.exports = app; diff --git a/server/routes/Usuario.js b/server/routes/Usuario.js new file mode 100644 index 0000000..ae764dc --- /dev/null +++ b/server/routes/Usuario.js @@ -0,0 +1,17 @@ +const express = require('express'); +const app = express(); +const { verificaToken } = require('../middleware/autentificacion'); +const route = '/usuario'; +const login = require('../controller/Operador/login'); + +app.post(`${route}`, (req, res) => { + return login() + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json(err); + }); +}); + +module.exports = app; diff --git a/server/routes/index.js b/server/routes/index.js index 435f92b..9737f21 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -1,6 +1,6 @@ -const express = require("express"); +const express = require('express'); const app = express(); -// app.use(require("./")); +app.use(require('./Operador')); module.exports = app;