115 lines
2.7 KiB
JavaScript
115 lines
2.7 KiB
JavaScript
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;
|