111 lines
2.7 KiB
JavaScript
111 lines
2.7 KiB
JavaScript
const router = require("express").Router();
|
|
const presupuesto = require("../models/presupuestoMes").Presupuesto;
|
|
const itemPresupuesto = require("../models/presupuestoMes").itemPresupuesto;
|
|
const { checkAuth } = require("../middlewares/authentication");
|
|
|
|
router.get("/presupuesto", checkAuth, async (req, res) => {
|
|
var presupuestos;
|
|
let limite = req.get('limite');
|
|
presupuestos = await presupuesto.find({ user: req.userData._id }).sort({
|
|
date: "desc",
|
|
}).limit(parseInt(limite));
|
|
|
|
|
|
return res.send({
|
|
status: "ok",
|
|
data: presupuestos,
|
|
});
|
|
});
|
|
|
|
router.post("/presupuesto", checkAuth, async (req, res) => {
|
|
const { nombrePresupuesto } = req.body;
|
|
|
|
var presupuestos = await presupuesto.find({
|
|
user: req.userData._id,
|
|
nombrePresupuesto: nombrePresupuesto,
|
|
});
|
|
|
|
if (presupuestos.length == 0) {
|
|
const Presupuesto = new presupuesto({
|
|
nombrePresupuesto: nombrePresupuesto,
|
|
});
|
|
|
|
console.log(Presupuesto);
|
|
Presupuesto.user = req.userData._id;
|
|
await Presupuesto.save();
|
|
|
|
return res.json({
|
|
status: "OK",
|
|
});
|
|
}
|
|
|
|
return res.status(500).json({
|
|
status: "FAIL",
|
|
});
|
|
});
|
|
|
|
router.delete("/presupuesto", checkAuth, async (req, res) => {
|
|
try {
|
|
const userId = req.userData._id;
|
|
const id = req.query.id;
|
|
|
|
const resultado = await presupuesto.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("/presupuesto", checkAuth, async (req, res) => {
|
|
const { _id, detalle, valor, tipo } = req.body;
|
|
const presupuesto_edit = await presupuesto.findOne({
|
|
_id: _id,
|
|
user: req.userData._id,
|
|
});
|
|
const itemP = new itemPresupuesto({ detalle, valor, tipo });
|
|
presupuesto_edit.datos.push(itemP);
|
|
await presupuesto_edit.save();
|
|
|
|
res.json({
|
|
status: "OK",
|
|
});
|
|
});
|
|
|
|
router.get("/presupuesto_items", checkAuth, async (req, res) => {
|
|
const _id = req.query.presupuesto_id;
|
|
const presupuesto_edit = await presupuesto.findOne({
|
|
_id: _id,
|
|
user: req.userData._id,
|
|
});
|
|
|
|
return res.json({
|
|
status: "OK",
|
|
data: presupuesto_edit.datos,
|
|
});
|
|
});
|
|
|
|
router.delete("/presupuestoitem", checkAuth, async (req, res) => {
|
|
try {
|
|
const userId = req.userData._id;
|
|
|
|
const iditem = req.query.iditem;
|
|
const idPresupuesto = req.query.idPresupuesto;
|
|
|
|
var presupuesto_edit = await presupuesto.findOne({
|
|
user: userId,
|
|
_id: idPresupuesto,
|
|
});
|
|
presupuesto_edit.datos.id(iditem).remove();
|
|
await presupuesto_edit.save();
|
|
|
|
return res.json({ status: "ok" });
|
|
} catch (error) {
|
|
console.log(error);
|
|
return res.status(500).json({ status: "fail", error: error });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|