diff --git a/server/controller/Carrito.js/update.js b/server/controller/Carrito/update.js similarity index 100% rename from server/controller/Carrito.js/update.js rename to server/controller/Carrito/update.js diff --git a/server/controller/Operador/login.js b/server/controller/Operador/login.js index cafe616..990f49e 100644 --- a/server/controller/Operador/login.js +++ b/server/controller/Operador/login.js @@ -15,7 +15,7 @@ const login = async (body) => { ); return Operador.findOne({ - where: { operador, activo: true }, + where: { operador }, include: [{ model: TipoUsuario }], }).then((res) => { if (!res) throw new Error('No existe este operador.'); diff --git a/server/controller/Operador/update.js b/server/controller/Operador/update.js index c437e07..1464f74 100644 --- a/server/controller/Operador/update.js +++ b/server/controller/Operador/update.js @@ -1,8 +1,27 @@ const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Operador = require(`${dbPath}/Operador`); -const TipoUsuario = require(`${dbPath}/TipoUsuario`); -const update = async (body) => {}; +const update = async (body) => { + const idOperador = validar.validarId(body.idOperador); + let update = {}; + + if (body.activo === 'desactivar') update.activo = false; + if (body.activo === 'activar') update.activo = true; + if (body.password) + update.password = validar.validarAlfanumerico( + body.password, + 'La Contraseña', + 20 + ); + if (validar.validarObjetoVacio(update)) + throw new Error('No se mando nada para actualizar.'); + return Operador.findOne({ where: { idOperador, idTipoUsuario: 2 } }) + .then((res) => { + if (!res) throw new Error('No existe este operador'); + return Operador.update(update, { where: { idOperador } }); + }) + .then((res) => ({ message: 'Se actualizó correctamente al operador.' })); +}; module.exports = update; diff --git a/server/db/install.js b/server/db/install.js index e703ad8..d831e82 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -88,7 +88,7 @@ const sync = async () => { }; const dataTipoUsuario = async () => { - const data = ['admin', 'operador', 'profesor', 'alumno', 'posgrado']; + const data = ['Admin', 'Operador', 'Profesor', 'Alumno', 'Posgrado']; console.log('\nPaso 3) Insertando data tipo usuario.'.bold.blue); for (let i = 0; i < data.length; i++) { @@ -102,7 +102,7 @@ const dataTipoUsuario = async () => { const dataModulo = async () => { const data = ['MAC', 'Derecho']; - console.log('\nPaso 5) Insertando data modulo.'.bold.blue); + console.log('\nPaso 4) Insertando data modulo.'.bold.blue); for (let i = 0; i < data.length; i++) { await Modulo.create({ modulo: data[i], @@ -114,7 +114,7 @@ const dataModulo = async () => { const dataTipoCarrito = async () => { const data = ['Chromebook', 'Laptop', 'iPad']; - console.log('\nPaso 6) Insertando data tipo carrito.'.bold.blue); + console.log('\nPaso 5) Insertando data tipo carrito.'.bold.blue); for (let i = 0; i < data.length; i++) { await TipoCarrito.create({ tipoCarrito: data[i], @@ -126,7 +126,7 @@ const dataTipoCarrito = async () => { const dataStatus = async () => { const data = ['Activo', 'Cargando', 'Reparación', 'Mantenimiento']; - console.log('\nPaso 7) Insertando data status.'.bold.blue); + console.log('\nPaso 6) Insertando data status.'.bold.blue); for (let i = 0; i < data.length; i++) { await Status.create({ status: data[i], @@ -138,7 +138,7 @@ const dataStatus = async () => { const dataPrograma = async () => { const data = ['Autodesk', 'Adobe', 'Programación']; - console.log('\nPaso 8) Insertando data programa.'.bold.blue); + console.log('\nPaso 7) Insertando data programa.'.bold.blue); for (let i = 0; i < data.length; i++) { await Programa.create({ programa: data[i], @@ -148,7 +148,7 @@ const dataPrograma = async () => { }; const dataAdmin = async () => { - console.log('\nPaso 9) Insertando admin.'.bold.blue); + console.log('\nPaso 8) Insertando admin.'.bold.blue); await Operador.create({ idTipoUsuario: 1, operador: 'Araceli', diff --git a/server/routes/Operador.js b/server/routes/Operador.js index ff5bc00..502ebfb 100644 --- a/server/routes/Operador.js +++ b/server/routes/Operador.js @@ -3,10 +3,12 @@ const app = express(); const { verificaToken } = require('../middleware/autentificacion'); const route = '/operador'; const controllerPath = '../controller/Operador'; -const login = require(`${controllerPath}/login`); const crear = require(`${controllerPath}/crear`); +const login = require(`${controllerPath}/login`); const operadores = require(`${controllerPath}/operadores`); +const update = require(`${controllerPath}/update`); +// POST app.post(`${route}/login`, (req, res) => { return login(req.body) .then((data) => { @@ -27,6 +29,18 @@ app.post(`${route}/crear`, (req, res) => { }); }); +// PUT +app.put(`${route}/update`, (req, res) => { + return update(req.body) + .then((data) => { + res.status(201).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + +// GET app.get(`${route}/operadores`, (req, res) => { return operadores(req.query) .then((data) => {