prestamo okay
This commit is contained in:
@@ -63,14 +63,14 @@ export class CarritoController {
|
||||
const carritoFind = await carritoRepository.findOne({
|
||||
where: {
|
||||
kiosko: data.kiosko,
|
||||
sobrenombre: data.alias_carrito,
|
||||
alias: data.alias_carrito,
|
||||
tipo: tipoFind
|
||||
}
|
||||
})
|
||||
|
||||
if (!carritoFind) {
|
||||
carrito.kiosko = data.kiosko
|
||||
carrito.sobrenombre = data.alias_carrito
|
||||
carrito.alias = data.alias_carrito
|
||||
carrito.tipo = !tipoFind ? tipo : tipoFind
|
||||
}
|
||||
|
||||
|
||||
@@ -5,14 +5,15 @@ import { Prestamo } from '@src/entity/Prestamo'
|
||||
import { Usuario } from '@src/entity/Usuario'
|
||||
import { Operador } from '@src/entity/Operador'
|
||||
import * as moment from 'moment'
|
||||
export class EquipoController {
|
||||
export class PrestamoController {
|
||||
static async prestamo (request: Request, res: Response) {
|
||||
const usuarioRepository = await getRepository(Usuario)
|
||||
const operadorRepository = await getRepository(Operador)
|
||||
const equipoRepository = await getRepository(Equipo)
|
||||
const prestamoRepository = await getRepository(Prestamo)
|
||||
|
||||
const usuario = await usuarioRepository.findOne(request.body.idUsuario, {
|
||||
const { usuarioId, tipoId } = request.body
|
||||
|
||||
const usuario = await usuarioRepository.findOne(usuarioId, {
|
||||
select: ['id', 'baja', 'multa']
|
||||
})
|
||||
|
||||
@@ -21,33 +22,30 @@ export class EquipoController {
|
||||
return
|
||||
}
|
||||
|
||||
if (usuario.baja) {
|
||||
res.status(400).json({ err: 'El usuario esta dado de baja' })
|
||||
return
|
||||
}
|
||||
|
||||
const prestamoActivo = await prestamoRepository
|
||||
.createQueryBuilder('prestamo')
|
||||
.where('prestamo.usuarioId = :idUsuario', { idUsuario: usuario.id })
|
||||
.andWhere('prestamo.activo = true')
|
||||
.orWhere('prestamo.reservado = true')
|
||||
.getOne()
|
||||
console.log(prestamoActivo)
|
||||
|
||||
if (prestamoActivo) {
|
||||
res.status(400).json({ err: 'El usuario tiene un prestamo activo' })
|
||||
return
|
||||
}
|
||||
|
||||
const operador = await operadorRepository.findOne(request.body.idOperador, {
|
||||
select: ['id', 'admin']
|
||||
})
|
||||
|
||||
if (!operador) {
|
||||
res.status(400).json({ err: 'Operador no encontrado' })
|
||||
return
|
||||
}
|
||||
|
||||
const equipo = await equipoRepository
|
||||
.createQueryBuilder('equipo')
|
||||
.leftJoinAndSelect('equipo.carrito', 'carrito')
|
||||
.leftJoinAndSelect('carrito.tipo', 'tipo')
|
||||
.where('equipo.activo = :activo', { activo: false })
|
||||
.andWhere('carrito.kiosko = :kiosko', { kiosko: 1 })
|
||||
.andWhere('tipo.nombre = :tipo', { tipo: 'chromebook' })
|
||||
.andWhere('tipo.id = :tipoId', { tipoId })
|
||||
.orderBy('equipo.updatedAt', 'ASC')
|
||||
.getOne()
|
||||
|
||||
@@ -57,7 +55,6 @@ export class EquipoController {
|
||||
|
||||
prestamo.equipo = equipo
|
||||
prestamo.usuario = usuario
|
||||
prestamo.operadorEntrega = operador
|
||||
const m = moment()
|
||||
.add({ hours: 2, minutes: 35 })
|
||||
.format('MMMM Do YYYY, h:mm:ss a')
|
||||
@@ -69,6 +66,7 @@ export class EquipoController {
|
||||
|
||||
prestamo.qr = `https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${prestamo.id}`
|
||||
|
||||
console.log(prestamo)
|
||||
res.status(200).json({
|
||||
prestamo
|
||||
})
|
||||
@@ -78,7 +76,9 @@ export class EquipoController {
|
||||
const prestamoRepository = getRepository(Prestamo)
|
||||
const operadorRepository = getRepository(Operador)
|
||||
|
||||
const prestamo = await prestamoRepository.findOne(req.body.prestamoId, {
|
||||
const { prestamoId, operadorId } = req.body
|
||||
|
||||
const prestamo = await prestamoRepository.findOne(prestamoId, {
|
||||
relations: ['equipo']
|
||||
})
|
||||
if (!prestamo) {
|
||||
@@ -87,7 +87,7 @@ export class EquipoController {
|
||||
})
|
||||
return
|
||||
}
|
||||
const operador = await operadorRepository.findOne(req.body.operadorId)
|
||||
const operador = await operadorRepository.findOne(operadorId)
|
||||
|
||||
if (!operador) {
|
||||
res.status(400).json({
|
||||
@@ -96,11 +96,15 @@ export class EquipoController {
|
||||
return
|
||||
}
|
||||
|
||||
prestamo.operadorRegreso = operador
|
||||
prestamo.operadorEntrega = operador
|
||||
prestamo.reservado = false
|
||||
prestamo.activo = true
|
||||
|
||||
res.status(200).json(prestamo)
|
||||
try {
|
||||
await prestamoRepository.save(prestamo)
|
||||
res.status(200).json(prestamo)
|
||||
} catch (err) {
|
||||
res.status(400).json({ err: err.message })
|
||||
}
|
||||
}
|
||||
|
||||
static async regreso (req: Request, res: Response) {
|
||||
@@ -126,4 +130,39 @@ export class EquipoController {
|
||||
await prestamoRepository.save(prestamo)
|
||||
res.status(200).json(prestamo)
|
||||
}
|
||||
|
||||
static async estatusPrestamo (req: Request, res: Response) {
|
||||
const repository = getRepository(Prestamo)
|
||||
const { prestamoId } = req.query
|
||||
|
||||
const prestamo = await repository.findOne(+prestamoId)
|
||||
|
||||
if (!prestamo) {
|
||||
res.status(400).json({ err: 'El prestamo no existe' })
|
||||
return
|
||||
}
|
||||
|
||||
res.status(200).json(prestamo)
|
||||
}
|
||||
|
||||
static async cancelarPrestamo (req: Request, res: Response) {
|
||||
const repository = getRepository(Prestamo)
|
||||
|
||||
const { prestamoId } = req.body
|
||||
|
||||
const prestamo = await repository.findOne(prestamoId)
|
||||
|
||||
if (!prestamo) {
|
||||
res.status(400).json({ err: 'El prestamo no existe' })
|
||||
}
|
||||
|
||||
prestamo.reservado = false
|
||||
|
||||
try {
|
||||
await repository.save(prestamo)
|
||||
res.status(200).send('Cancelado correctamente')
|
||||
} catch (err) {
|
||||
res.status(400).json({ err: err.message })
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { Request } from 'express'
|
||||
import { Response } from 'express-serve-static-core'
|
||||
import { getRepository } from 'typeorm'
|
||||
import { Tipo } from '@src/entity/Tipo'
|
||||
|
||||
export class TipoController {
|
||||
static async getAll (req: Request, res: Response) {
|
||||
const repository = await getRepository(Tipo)
|
||||
const tipos = await repository.find()
|
||||
res.status(200).json(tipos)
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ export class Carrito {
|
||||
id: number
|
||||
|
||||
@Column()
|
||||
sobrenombre: number
|
||||
alias: number
|
||||
|
||||
@Column()
|
||||
kiosko: number
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { Router } from 'express'
|
||||
import { EquipoController } from '@src/controller/Equipo'
|
||||
|
||||
const router = Router()
|
||||
|
||||
router.post('/prestamo', EquipoController.prestamo)
|
||||
router.post('/regreso', EquipoController.regreso)
|
||||
router.post('/confirmar', EquipoController.confirmarPrestamo)
|
||||
|
||||
export default router
|
||||
+4
-2
@@ -3,13 +3,15 @@ import { Router } from 'express'
|
||||
import usuario from './usuario'
|
||||
import operador from './operador'
|
||||
import carrito from './carrito'
|
||||
import equipo from './equipo'
|
||||
import prestamo from './prestamo'
|
||||
import tipo from './tipo'
|
||||
|
||||
const routes = Router()
|
||||
|
||||
routes.use('/operador', operador)
|
||||
routes.use('/usuario', usuario)
|
||||
routes.use('/carrito', carrito)
|
||||
routes.use('/equipo', equipo)
|
||||
routes.use('/prestamo', prestamo)
|
||||
routes.use('/tipo', tipo)
|
||||
|
||||
export default routes
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { Router } from 'express'
|
||||
import { PrestamoController } from '@src/controller/Prestamo'
|
||||
const router = Router()
|
||||
|
||||
router.post('/', PrestamoController.prestamo)
|
||||
router.put('/regreso', PrestamoController.regreso)
|
||||
router.put('/confirmar', PrestamoController.confirmarPrestamo)
|
||||
router.get('/estatus', PrestamoController.estatusPrestamo)
|
||||
router.put('/cancelar', PrestamoController.cancelarPrestamo)
|
||||
|
||||
export default router
|
||||
@@ -0,0 +1,8 @@
|
||||
import { Router } from 'express'
|
||||
import { TipoController } from '@src/controller/Tipo'
|
||||
|
||||
const router = Router()
|
||||
|
||||
router.get('/', TipoController.getAll)
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user