lineas api operador listas

This commit is contained in:
2020-10-05 01:00:56 -05:00
parent fb1fcb1f0f
commit b9fd7d689b
7 changed files with 105 additions and 29 deletions
View File
+20 -11
View File
@@ -1,20 +1,29 @@
require('../../config/config')
const validador = require('../validador')
const bcrypt = require('bcrypt')
const Operador = require('../../db/tables/Operador')
const create = (body) => {
return Operador.create({
nombre: body.nombre,
password: bcrypt.hashSync(body.password, Number(process.env.SALT_ROUNDS)),
idTipoOperador: 2,
})
const create = async (body) => {
let nombre = await validador.validarTexto(body.nombre).then((res) => res)
let password = await validador
.validarTexto(body.password)
.then((res) => bcrypt.hashSync(res, Number(process.env.SALT_ROUNDS)))
let busqueda = { where: { nombre } }
return Operador.findOne(busqueda)
.then((res) => {
console.log(res)
return { mensaje: 'Se creo un operador correctamente' }
let data = {
nombre,
password,
idTipoOperador: 2,
}
if (res) validador.error('Ya existe un operador con este nombre.', 400)
return Operador.create(data)
})
.then((res) => {
return { code: 201, message: 'Se creo un operador correctamente' }
})
.catch((err) => {})
}
module.exports = create
// create({ nombre: 'Lemuel', password: 'hola' })
+25 -5
View File
@@ -1,11 +1,31 @@
const Operador = require('../../db/tables/Operador')
const TipoOperador = require('../../db/tables/TipoOperador')
const get = async () => {
return Operador.findAll()
.then((res) => {
return res
})
.catch((err) => {})
let busqueda = {
include: [{ model: TipoOperador }],
}
return Operador.findAll(busqueda).then((res) => {
let data = []
for (let i = 0; i < res.length; i++) {
let operador = {
idOperador: res[i].idOperador,
nombre: res[i].nombre,
TipoOperador: {
idTipoOperador: res[i].TipoOperador.idTipoOperador,
nombre: res[i].TipoOperador.nombre,
},
}
data.push(operador)
}
return {
code: 200,
data,
}
})
}
module.exports = get
+27 -13
View File
@@ -1,20 +1,34 @@
const bcrypt = require('bcrypt')
const validador = require('../validador')
const Operador = require('../../db/tables/Operador')
const TipoOperador = require('../../db/tables/TipoOperador')
const login = (body) => {
return Operador.findOne({ where: { nombre: body.nombre } })
.then((res) => {
if (res) {
if (!bcrypt.compareSync(body.password, res.password)) {
throw new Error('El usuario o contraseña son incorrectos.')
}
return { res }
const login = async (body) => {
let nombre = await validador.validarTexto(body.nombre).then((res) => res)
let password = await validador.validarTexto(body.password).then((res) => res)
let busqueda = {
where: { nombre },
include: [{ model: TipoOperador }],
}
return Operador.findOne(busqueda).then((res) => {
if (res) {
if (!bcrypt.compareSync(password, res.password))
validador.error('El Operador o contraseña son incorrectos.', 400)
return {
data: {
idOperador: res.idOperador,
nombre: res.nombre,
TipoOperador: {
idTipoOperador: res.TipoOperador.idTipoOperador,
nombre: res.TipoOperador.nombre,
},
},
code: 200,
}
throw new Error('El usuario o contraseña son incorrectos.')
})
.catch((err) => {})
}
validador.error('El usuario no existe.', 400)
})
}
module.exports = login
// login({ nombre: 'lemuel', password: 'hola' })
+1
View File
@@ -7,5 +7,6 @@ app.use(require('./plantel'))
app.use(require('./carrera'))
app.use(require('./horario'))
app.use(require('./equipo'))
app.use(require('./operador'))
module.exports = app
+32
View File
@@ -0,0 +1,32 @@
const express = require('express')
const app = express()
const get = require('../controller/operador/get')
const create = require('../controller/operador/create')
const login = require('../controller/operador/login')
const route = '/operador'
app.get(`${route}`, (req, res) => {
return get()
.then((data) => {
res.status(data.code).json(data.data)
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.post(`${route}/create`, (req, res) => {
return create(req.body)
.then((data) => {
res.status(data.code).json({ message: data.message })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.post(`${route}/login`, (req, res) => {
return login(req.body)
.then((data) => {
res.status(data.code).json({ operador: data.data })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
module.exports = app