prestamo activo

This commit is contained in:
2020-10-06 19:13:35 -05:00
parent 9a5ffb8388
commit b8f3bcb449
5 changed files with 113 additions and 52 deletions
+2 -2
View File
@@ -2,7 +2,7 @@ const validador = require('../validador')
const Prestamo = require('../../db/tables/Prestamo')
const Operador = require('../../db/tables/Operador')
const Equipo = require('../../db/tables/Equipo')
const { validarEmail } = require('../validador')
const Mesa = require('../../db/tables/Mesa')
const activar = async (body) => {
let idPrestamo = await validador.validarId(body.idPrestamo).then((res) => res)
@@ -25,7 +25,7 @@ const activar = async (body) => {
if (res.Equipo.activo) validador.error('Este equipo ya esta en uso.', 400)
return Equipo.update(
{ activo: true },
{ where: { idEquipo: res.idEquipo } }
{ where: { idEquipo: res.idEquipo }, order: [['updatedAt', 'DESC']] }
)
})
.then(() => {
+37
View File
@@ -0,0 +1,37 @@
const { Op } = require('sequelize')
const validador = require('../validador')
const Prestamo = require('../../db/tables/Prestamo')
const Equipo = require('../../db/tables/Equipo')
const Carrito = require('../../db/tables/Carrito')
const TipoCarrito = require('../../db/tables/TipoCarrito')
const Status = require('../../db/tables/Status')
const Horario = require('../../db/tables/Horario')
const Mesa = require('../../db/tables/Mesa')
const activo = async (body) => {
let idUsuario = await validador.validarId(body.idUsuario).then((res) => res)
let busqueda = {
include: [
{ model: Horario },
{ model: Mesa, include: [{ model: Status }] },
{
model: Equipo,
include: [
{ model: Status },
{ model: Carrito, include: [{ model: TipoCarrito }] },
],
},
],
where: { [Op.and]: [{ idUsuario }, { activo: true }] },
}
return Prestamo.findOne(busqueda).then((res) => {
if (!res) validador.error('El usuario no tiene un prestamo activo.', 400)
return {
data: validador.objetoPrestamoEquipo(res),
code: 200,
}
})
}
module.exports = activo
+4 -37
View File
@@ -5,12 +5,14 @@ const Carrito = require('../../db/tables/Carrito')
const TipoCarrito = require('../../db/tables/TipoCarrito')
const Status = require('../../db/tables/Status')
const Horario = require('../../db/tables/Horario')
const Mesa = require('../../db/tables/Mesa')
const status = async (body) => {
let idPrestamo = await validador.validarId(body.idPrestamo).then((res) => res)
let busqueda = {
include: [
{ model: Horario },
{ model: Mesa, include: [{ model: Status }] },
{
model: Equipo,
include: [
@@ -25,43 +27,8 @@ const status = async (body) => {
return Prestamo.findOne(busqueda).then((res) => {
if (!res) validador.error('No existe ese prestamo.', 400)
return {
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,
idMesa: res.idMesa,
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,
},
},
},
code: 200,
},
data: validador.objetoPrestamoEquipo(res),
code: 200,
}
})
}
+58 -1
View File
@@ -49,4 +49,61 @@ const validarNumero = (numero) => {
})
}
module.exports = { error, validarId, validarTexto, validarEmail, validarNumero }
const objetoPrestamoEquipo = (prestamo) => {
let data = {
idPrestamo: prestamo.idPrestamo,
horaFin: prestamo.horaFin,
activo: prestamo.activo,
createdAt: prestamo.createdAt,
updatedAt: prestamo.updatedAt,
idUsuario: prestamo.idUsuario,
idOperadorEntrega: prestamo.idOperadorEntrega,
idOperadorRegreso: prestamo.idOperadorRegreso,
Horario: {
idHorario: prestamo.Horario.idHorario,
horario: prestamo.Horario.horario,
},
Equipo: {
idEquipo: prestamo.Equipo.idEquipo,
noSerie: prestamo.Equipo.noSerie,
noInventario: prestamo.Equipo.noInventario,
sobrenombre: prestamo.Equipo.sobrenombre,
activo: prestamo.Equipo.activo,
updatedAt: prestamo.Equipo.updatedAt,
Status: {
idStatus: prestamo.Equipo.Status.idStatus,
status: prestamo.Equipo.Status.status,
},
Carrito: {
idCarrito: prestamo.Equipo.Carrito.idCarrito,
sobrenombre: prestamo.Equipo.Carrito.sobrenombre,
kiosko: prestamo.Equipo.Carrito.kiosko,
TipoCarrito: {
idTipoCarrito: prestamo.Equipo.Carrito.TipoCarrito.idTipoCarrito,
nombre: prestamo.Equipo.Carrito.TipoCarrito.nombre,
},
},
},
}
if (prestamo.idMesa)
data.Mesa = {
idMesa: prestamo.Mesa.idMesa,
activo: prestamo.Mesa.activo,
updatedAt: prestamo.Mesa.updatedAt,
Status: {
idStatus: prestamo.Mesa.Status.idStatus,
status: prestamo.Mesa.Status.status,
},
}
return data
}
module.exports = {
error,
validarId,
validarTexto,
validarEmail,
validarNumero,
objetoPrestamoEquipo,
}
+12 -12
View File
@@ -2,6 +2,7 @@ const express = require('express')
const app = express()
const get = require('../controller/prestamo/get')
const status = require('../controller/prestamo/status')
const activo = require('../controller/prestamo/activo')
const equipo = require('../controller/prestamo/equipo')
const cancelar = require('../controller/prestamo/cancelar')
const activar = require('../controller/prestamo/activar')
@@ -24,6 +25,14 @@ app.get(`${route}/status`, (req, res) => {
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.get(`${route}/activo`, (req, res) => {
return activo(req.query)
.then((data) => {
res.status(data.code).json({ prestamos: data.data })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.post(`${route}/equipo`, (req, res) => {
return equipo(req.body)
.then((data) => {
@@ -39,10 +48,7 @@ app.put(`${route}/cancelar`, (req, res) => {
.then((data) => {
res.status(data.code).json({ message: data.message })
})
.catch((err) => {
console.log(err)
res.status(err.code).json({ err: err.message })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.put(`${route}/activar`, (req, res) => {
@@ -50,10 +56,7 @@ app.put(`${route}/activar`, (req, res) => {
.then((data) => {
res.status(data.code).json({ message: data.message })
})
.catch((err) => {
console.log(err)
res.status(err.code).json({ err: err.message })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
app.put(`${route}/regreso`, (req, res) => {
@@ -61,10 +64,7 @@ app.put(`${route}/regreso`, (req, res) => {
.then((data) => {
res.status(data.code).json({ message: data.message })
})
.catch((err) => {
console.log(err)
res.status(err.code).json({ err: err.message })
})
.catch((err) => res.status(err.code).json({ err: err.message }))
})
module.exports = app