This commit is contained in:
2022-10-02 08:03:49 -05:00
parent 153f2da1f7
commit b4a5db028e
8 changed files with 568 additions and 2 deletions

111
routes/ahorro.js Normal file
View File

@@ -0,0 +1,111 @@
const router = require("express").Router();
const ahorro = require("../models/ahorros").Ahorro;
const itemAhorro = require("../models/ahorros").itemAhorro;
const { checkAuth } = require("../middlewares/authentication");
router.get("/ahorro", checkAuth, async (req, res) => {
var ahorros;
let limite = req.get('limite');
ahorros = await ahorro.find({ user: req.userData._id }).sort({
date: "desc",
}).limit(parseInt(limite));
return res.send({
status: "ok",
data: ahorros,
});
});
router.post("/ahorro", checkAuth, async (req, res) => {
const { nombreAhorro,detalleAhorro } = req.body;
var ahorros = await ahorro.find({
user: req.userData._id,
nombreAhorro: nombreAhorro,
});
if (ahorros.length == 0) {
const Ahorro = new ahorro({
nombreAhorro: nombreAhorro,
detalleAhorro:detalleAhorro,
});
console.log(Ahorro);
Ahorro.user = req.userData._id;
await Ahorro.save();
return res.json({
status: "OK",
});
}
return res.status(500).json({
status: "FAIL",
});
});
router.delete("/ahorro", checkAuth, async (req, res) => {
try {
const userId = req.userData._id;
const id = req.query.id;
const resultado = await ahorro.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("/ahorro", checkAuth, async (req, res) => {
const { _id, detalle, valor, tipo } = req.body;
const ahorro_edit = await ahorro.findOne({
_id: _id,
user: req.userData._id,
});
const itemP = new itemAhorro({ detalle, valor, tipo });
ahorro_edit.datos.push(itemP);
await ahorro_edit.save();
res.json({
status: "OK",
});
});
router.get("/ahorro_items", checkAuth, async (req, res) => {
const _id = req.query.ahorro_id;
const ahorro_edit = await ahorro.findOne({
_id: _id,
user: req.userData._id,
});
return res.json({
status: "OK",
data: ahorro_edit.datos,
});
});
router.delete("/ahorroitem", checkAuth, async (req, res) => {
try {
const userId = req.userData._id;
const iditem = req.query.iditem;
const idAhorro = req.query.idAhorro;
var ahorro_edit = await ahorro.findOne({
user: userId,
_id: idAhorro,
});
ahorro_edit.datos.id(iditem).remove();
await ahorro_edit.save();
return res.json({ status: "ok" });
} catch (error) {
console.log(error);
return res.status(500).json({ status: "fail", error: error });
}
});
module.exports = router;