const router = require("express").Router(); const Credito = require("../models/credito").Credito; const itemCredito = require("../models/credito").itemCredito; const { checkAuth } = require("../middlewares/authentication"); router.get("/credito", checkAuth, async (req, res) => { var creditos; let limite = req.get('limite'); creditos = await Credito.find({ user: req.userData._id }).sort({ date: "desc", }).limit(parseInt(limite)); return res.send({ status: "ok", data: creditos, }); }); router.post("/credito", checkAuth, async (req, res) => { const { nombreCredito,valor,tasa_interes } = req.body; var creditos = await Credito.find({ user: req.userData._id, nombreCredito: nombreCredito, }); if (creditos.length == 0) { const credito = new Credito({ nombreCredito: nombreCredito, valor:valor, tasa_interes:tasa_interes }); credito.user = req.userData._id; await credito.save(); return res.json({ status: "OK", }); } return res.status(500).json({ status: "FAIL", }); }); router.delete("/credito", checkAuth, async (req, res) => { try { const userId = req.userData._id; const id = req.query.id; const resultado = await Credito.deleteOne({ user: userId, _id: id }); return res.json({ status: "ok", data: resultado }); } catch (error) { console.log(error); return res.status(500).json({ status: "fail", error: error }); } }); router.put("/credito", checkAuth, async (req, res) => { const { _id, fecha, detalle, valor, tipo } = req.body; const credito_edit = await Credito.findOne({ _id: _id, user: req.userData._id, }); const itemP = new itemCredito({ fecha,detalle, valor, tipo }); credito_edit.datos.push(itemP); await credito_edit.save(); res.json({ status: "OK", }); }); router.get("/credito_items", checkAuth, async (req, res) => { const _id = req.query.credito_id; const credito_edit = await Credito.findOne({ _id: _id, user: req.userData._id, }); return res.json({ status: "OK", data: credito_edit.datos, }); }); router.delete("/creditoitem", checkAuth, async (req, res) => { try { const userId = req.userData._id; const iditem = req.query.iditem; const credito_id = req.query.idCredito; var credito_edit = await Credito.findOne({ user: userId, _id: credito_id, }); console.log(credito_edit) console.log("---------------") credito_edit.datos.id(iditem).remove(); await credito_edit.save(); return res.json({ status: "ok" }); } catch (error) { console.log(error); return res.status(500).json({ status: "fail", error: error }); } }); module.exports = router;