ya asigna mesa

This commit is contained in:
2020-10-07 01:43:18 -05:00
parent b8f3bcb449
commit d9dfe3a55f
15 changed files with 128 additions and 115 deletions
+8 -12
View File
@@ -5,31 +5,27 @@ const Plantel = require('../../db/tables/Plantel')
const get = async (body) => {
let idPlantel = await validador.validarId(body.idPlantel).then((res) => res)
let busquedaCarrera = {
where: { idPlantel: body.idPlantel },
include: [{ model: Carrera }],
}
let busquedaPlantel = { where: idPlantel }
return Plantel.findOne(busquedaPlantel)
return Plantel.findOne({ where: idPlantel })
.then((res) => {
if (!res) validador.error('El plantel no existe.', 400)
return CarreraPlantel.findAll(busquedaCarrera)
return CarreraPlantel.findAll({
where: { idPlantel: body.idPlantel },
include: [{ model: Carrera }],
})
})
.then((res) => {
let data = []
for (let i = 0; i < res.length; i++) {
let carrera = {
for (let i = 0; i < res.length; i++)
data.push({
idCarreraPlantel: res[i].idCarreraPlantel,
Carrera: {
idCarrera: res[i].Carrera.idCarrera,
carrera: res[i].Carrera.carrera,
nivel: res[i].Carrera.nivel,
},
}
data.push(carrera)
}
})
return { code: 200, data }
})
}
+3 -4
View File
@@ -6,15 +6,14 @@ const Status = require('../../db/tables/Status')
const get = async (body) => {
let idEquipo = await validador.validarId(body.idEquipo).then((res) => res)
let busqueda = {
return Equipo.findOne({
where: { idEquipo },
include: [
{ model: Carrito, include: [{ model: TipoCarrito }] },
{ model: Status },
],
}
return Equipo.findOne(busqueda).then((res) => {
}).then((res) => {
if (!res) validador.error('No existe el equipo.', 400)
return {
code: 200,
+3 -8
View File
@@ -1,19 +1,14 @@
const moment = require('moment')
const Horario = require('../../db/tables/Horario')
const validador = require('../validador')
const get = async () => {
return Horario.findAll().then((res) => {
let data = []
let now = moment().add(15, 'minutes')
let data = []
for (let i = 0; i < res.length; i++) {
let hora = res[i].horario.substr(res[i].horario.indexOf('-') + 1)
let horaNumero = Number(hora.substr(0, hora.indexOf(':')))
let horaLimite = moment()
horaLimite.set('hour', horaNumero)
horaLimite.set('minute', 0)
horaLimite.set('second', 0)
let horaLimite = validador.stringToMoment(res[i].horario)
/* Para la noche xd */
// horaLimite.add(1, 'days')
+5 -8
View File
@@ -8,21 +8,18 @@ const create = async (body) => {
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)
return Operador.findOne({ where: { nombre } })
.then((res) => {
let data = {
if (res) validador.error('Ya existe un operador con este nombre.', 400)
return Operador.create({
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' }
return { code: 201, message: 'Haz creado un operador.' }
})
}
+4 -8
View File
@@ -2,24 +2,20 @@ const Operador = require('../../db/tables/Operador')
const TipoOperador = require('../../db/tables/TipoOperador')
const get = async () => {
let busqueda = {
return Operador.findAll({
include: [{ model: TipoOperador }],
}
return Operador.findAll(busqueda).then((res) => {
}).then((res) => {
let data = []
for (let i = 0; i < res.length; i++) {
let operador = {
data.push({
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,
+6 -6
View File
@@ -6,15 +6,14 @@ const TipoOperador = require('../../db/tables/TipoOperador')
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 = {
return Operador.findOne({
where: { nombre },
include: [{ model: TipoOperador }],
}
return Operador.findOne(busqueda).then((res) => {
}).then((res) => {
if (res) {
if (!bcrypt.compareSync(password, res.password))
validador.error('El Operador o contraseña son incorrectos.', 400)
validador.error('La contraseña es incorrecta.', 400)
return {
data: {
idOperador: res.idOperador,
@@ -23,11 +22,12 @@ const login = async (body) => {
idTipoOperador: res.TipoOperador.idTipoOperador,
nombre: res.TipoOperador.nombre,
},
token: '',
},
code: 200,
}
}
validador.error('El usuario no existe.', 400)
validador.error('El operador no existe.', 400)
})
}
+20 -8
View File
@@ -1,3 +1,4 @@
const { Op } = require('sequelize')
const validador = require('../validador')
const Prestamo = require('../../db/tables/Prestamo')
const Operador = require('../../db/tables/Operador')
@@ -10,27 +11,38 @@ const activar = async (body) => {
return Operador.findOne({ where: { idOperador } })
.then((res) => {
if (!res) validador.error('No existe este operador.', 400)
if (!res) validador.error('No existe el operador.', 400)
return Prestamo.findOne({
where: { idPrestamo },
include: [{ model: Equipo }],
})
})
.then((res) => {
if (!res) validador.error('No existe ese prestamo.', 400)
if (!res.activo && !res.idOperadorRegreso && !res.idOperadorEntrega)
validador.error('Este prestamo fue cancelado.', 400)
if (!res) validador.error('No existe este prestamo.', 400)
if (!res.idOperadorEntrega) {
if (!res.activo) validador.error('Este prestamo fue cancelado.', 400)
if (res.Equipo.activo)
validador.error(
'No se ha regresado el equipo del previo prestamo.',
400
)
}
if (res.idOperadorEntrega)
validador.error('Ya se ha entregado este equipo.', 400)
if (res.Equipo.activo) validador.error('Este equipo ya esta en uso.', 400)
validador.error('Ya se ha entregado el equipo al usuario.', 400)
return Equipo.update(
{ activo: true },
{ where: { idEquipo: res.idEquipo }, order: [['updatedAt', 'DESC']] }
{ where: { idEquipo: res.idEquipo } }
)
})
.then(() => {
return Mesa.findAll({
where: { [Op.and]: [{ activo: false }, { idStatus: 1 }] },
order: [['updatedAt', 'DESC']],
})
})
.then((res) => {
return Prestamo.update(
{ idOperadorEntrega: idOperador },
{ idOperadorEntrega: idOperador, idMesa: res[0].idMesa },
{ where: { idPrestamo } }
)
})
+2 -33
View File
@@ -40,6 +40,7 @@ const equipo = async (body) => {
},
],
where: { idStatus: 1 },
order: [['updatedAt', 'DESC']],
}
return Prestamo.findOne(busquedaPrestamo)
@@ -112,39 +113,7 @@ const equipo = async (body) => {
return {
code: 200,
data: {
idPrestamo: res.idPrestamo,
horaFin: res.horaFin,
activo: res.activo,
createdAt: res.createdAt,
updatedAt: res.updatedAt,
idUsuario: res.idUsuario,
idOperadorEntrega: res.idOperadorEntrega,
idOperadorRegreso: res.idOperadorRegreso,
Horario: {
idHorario: res.Horario.idHorario,
horario: res.Horario.horario,
},
Equipo: {
idEquipo: res.Equipo.idEquipo,
noSerie: res.Equipo.noSerie,
noInventario: res.Equipo.noInventario,
sobrenombre: res.Equipo.sobrenombre,
activo: res.Equipo.activo,
updatedAt: res.Equipo.updatedAt,
Status: {
idStatus: res.Equipo.Status.idStatus,
status: res.Equipo.Status.status,
},
Carrito: {
idCarrito: res.Equipo.Carrito.idCarrito,
sobrenombre: res.Equipo.Carrito.sobrenombre,
kiosko: res.Equipo.Carrito.kiosko,
TipoCarrito: {
idTipoCarrito: res.Equipo.Carrito.TipoCarrito.idTipoCarrito,
nombre: res.Equipo.Carrito.TipoCarrito.nombre,
},
},
},
prestamo: validador.objetoPrestamoEquipo(res),
qr: `https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${res.idPrestamo}`,
},
}
+10 -6
View File
@@ -17,15 +17,20 @@ const create = async (body) => {
.then((res) => res)
let correo = await validador.validarEmail(body.email).then((res) => res)
let telefono = body.telefono
let idPlantel = await validador.validarId(body.idPlantel).then((res) => res)
let idCarreraPlantel = await validador
.validarId(body.idCarreraPlantel)
.then((res) => res)
let idTipoUsuario = 1
let idTipoUsuario
if (idPlantel >= 200 && idPlantel < 300) idTipoUsuario = 1
else idTipoUsuario = 2
return Usuario.findOne({ where: { idUsuario } })
.then((res) => {
if (res) validador.error('El numero de cuanta ya a sido registrado.', 400)
let data = {
if (res)
validador.error('El número de cuenta ya ha sido registrado.', 400)
return Usuario.create({
idUsuario,
password,
nombre,
@@ -37,13 +42,12 @@ const create = async (body) => {
foto: '',
idTipoUsuario,
idCarreraPlantel,
}
return Usuario.create(data)
})
})
.then((res) => {
return {
code: 201,
message: 'Se registro correctamente el numero de cuenta',
message: 'Te haz registrado correctamente.',
}
})
}
+40 -11
View File
@@ -1,3 +1,4 @@
const { Op } = require('sequelize')
const validador = require('../validador')
const Usuario = require('../../db/tables/Usuario')
const TipoUsuario = require('../../db/tables/TipoUsuario')
@@ -5,10 +6,18 @@ const CarreraPlantel = require('../../db/tables/CarreraPlantel')
const Carrera = require('../../db/tables/Carrera')
const Plantel = require('../../db/tables/Plantel')
const Prestamo = require('../../db/tables/Prestamo')
const Mesa = require('../../db/tables/Mesa')
const Status = require('../../db/tables/Status')
const Equipo = require('../../db/tables/Equipo')
const Carrito = require('../../db/tables/Carrito')
const TipoCarrito = require('../../db/tables/TipoCarrito')
const Horario = require('../../db/tables/Horario')
const get = async (body) => {
let idUsuario = await validador.validarId(body.idUsuario).then((res) => res)
let busqueda = {
let usuario = {}
return Usuario.findOne({
where: { idUsuario },
include: [
{ model: TipoUsuario },
@@ -17,13 +26,10 @@ const get = async (body) => {
include: [{ model: Plantel }, { model: Carrera }],
},
],
}
return Usuario.findOne(busqueda).then((res) => {
if (!res) validador.error('No existe este número de cuenta.', 400)
return {
code: 200,
data: {
})
.then((res) => {
if (!res) validador.error('Ese número de cuenta no esta registrado.', 400)
usuario = {
idUsuario: res.idUsuario,
nombre: res.nombre,
apPaterno: res.apPaterno,
@@ -50,9 +56,32 @@ const get = async (body) => {
nivel: res.CarreraPlantel.Carrera.nivel,
},
},
},
}
})
}
return Prestamo.findAll({
where: { [Op.and]: [{ idUsuario }, { idSalon: null }] },
include: [
{ model: Mesa, include: [{ model: Status }] },
{ model: Horario },
{
model: Equipo,
include: [
{ model: Status },
{ model: Carrito, include: [{ model: TipoCarrito }] },
],
},
],
})
})
.then((res) => {
let prestamos = []
for (let i = 0; i < res.length; i++)
prestamos.push(validador.objetoPrestamoEquipo(res[i]))
return {
code: 200,
data: { usuario, prestamos },
}
})
}
module.exports = get
+6 -6
View File
@@ -6,24 +6,24 @@ const TipoUsuario = require('../../db/tables/TipoUsuario')
const login = async (body) => {
let idUsuario = await validador.validarId(body.idUsuario).then((res) => res)
let password = await validador.validarTexto(body.password).then((res) => res)
let busqueda = {
return Usuario.findOne({
where: { idUsuario },
include: [{ model: TipoUsuario }],
}
return Usuario.findOne(busqueda).then((res) => {
}).then((res) => {
if (res) {
if (!bcrypt.compareSync(password, res.password))
validador.error('El usuario o contraseña son incorrectos.', 400)
validador.error('La contraseña es incorrecta.', 400)
return {
code: 200,
data: {
idUsuario: res.idUsuario,
nombre: res.nombre,
apPaterno: res.apPaterno,
apMaterno: res.apMaterno,
TipoUsuario: res.TipoUsuario,
token: '',
},
code: 200,
}
}
validador.error('El usuario no existe.', 400)
+13
View File
@@ -1,4 +1,5 @@
const validator = require('validator')
const moment = require('moment')
const objetoError = (message, code) => {
return { message, code }
@@ -99,6 +100,17 @@ const objetoPrestamoEquipo = (prestamo) => {
return data
}
const stringToMoment = (strHour) => {
let strHora = strHour.substr(strHour.indexOf('-') + 1)
let horaNumero = Number(strHora.substr(0, strHora.indexOf(':')))
let hora = moment()
hora.set('hour', horaNumero)
hora.set('minute', 0)
hora.set('second', 0)
return hora
}
module.exports = {
error,
validarId,
@@ -106,4 +118,5 @@ module.exports = {
validarEmail,
validarNumero,
objetoPrestamoEquipo,
stringToMoment,
}
+1 -1
View File
@@ -24,7 +24,7 @@ app.post(`${route}/create`, (req, res) => {
app.post(`${route}/login`, (req, res) => {
return login(req.body)
.then((data) => {
res.status(data.code).json({ operador: data.data })
res.status(data.code).json(data.data)
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
+1 -1
View File
@@ -36,7 +36,7 @@ app.get(`${route}/activo`, (req, res) => {
app.post(`${route}/equipo`, (req, res) => {
return equipo(req.body)
.then((data) => {
res.status(data.code).json({ prestamo: data.data })
res.status(data.code).json(data.data)
})
.catch((err) => {
res.status(err.code).json({ err: err.message })
+6 -3
View File
@@ -8,9 +8,12 @@ const route = '/usuario'
app.get(`${route}`, (req, res) => {
return get(req.query)
.then((data) => {
res.status(data.code).json({ usuario: data.data })
res.status(data.code).json(data.data)
})
.catch((err) => {
console.log(err)
res.status(err.code).json({ err: err.message })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.post(`${route}/create`, (req, res) => {
@@ -24,7 +27,7 @@ app.post(`${route}/create`, (req, res) => {
app.post(`${route}/login`, (req, res) => {
return login(req.body)
.then((data) => {
res.status(data.code).json({ usuario: data.data })
res.status(data.code).json(data.data)
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})