132 lines
3.7 KiB
JavaScript
Executable File
132 lines
3.7 KiB
JavaScript
Executable File
const shared_consts = require('../tools/shared_nodejs');
|
|
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
|
|
const tools = require('../tools/general');
|
|
|
|
var server_constants = require('../tools/server_constants');
|
|
|
|
var { Project } = require('../models/project');
|
|
|
|
var { authenticate, auth_default } = require('../middleware/authenticate');
|
|
|
|
var mongoose = require('mongoose').set('debug', false)
|
|
const Subscription = require('../models/subscribers');
|
|
|
|
const _ = require('lodash');
|
|
|
|
const { ObjectID } = require('mongodb');
|
|
|
|
const Product = require('../models/product');
|
|
const Order = require('../models/order');
|
|
const Variant = require('../models/variant');
|
|
|
|
const sendemail = require('../sendemail');
|
|
const CartClass = require('../modules/Cart')
|
|
const Cart = require('../models/cart');
|
|
const OrdersCart = require('../models/orderscart');
|
|
|
|
//GET orders
|
|
router.get('/:userId', authenticate, function (req, res, next) {
|
|
let userId = req.body.userId;
|
|
let idapp = req.body.idapp;
|
|
OrdersCart.getOrdersCartByUserId(userId, idapp, 0, false)
|
|
.then((cart) => {
|
|
|
|
if (cart)
|
|
res.send({ code: server_constants.RIS_CODE_OK, cart });
|
|
else
|
|
res.status(400).send(e);
|
|
})
|
|
|
|
});
|
|
|
|
router.post('/updateord', authenticate, async (req, res) => {
|
|
const idOrdersCart = req.body.idOrdersCart;
|
|
const idOrder = req.body.idOrder;
|
|
const paramstoupdate = req.body.paramstoupdate;
|
|
|
|
try {
|
|
// Aggiorno l'Ordine Singolo
|
|
await Order.updateOrderByParams(idOrder, paramstoupdate);
|
|
|
|
// Aggiorno il Totale degli Ordini (OrdersCart)
|
|
await OrdersCart.updateOrdersCartTotals(idOrdersCart, true)
|
|
.then((orderscart) => {
|
|
return res.send({ code: server_constants.RIS_CODE_OK, orderscart });
|
|
}).catch(err => {
|
|
console.log('ERR:', err);
|
|
res.status(400).send();
|
|
});
|
|
} catch (e) {
|
|
console.error('Err', e);
|
|
}
|
|
});
|
|
|
|
|
|
router.post('/update', authenticate, async (req, res) => {
|
|
let orderscart = null;
|
|
const idOrdersCart = req.body.idOrdersCart;
|
|
const paramstoupdate = req.body.paramstoupdate;
|
|
|
|
try {
|
|
// Aggiorno Orderscart con i parametri passati
|
|
orderscart = await OrdersCart.updateOrdersCartByParams(idOrdersCart, paramstoupdate);
|
|
|
|
let updatetotals = true;
|
|
if (paramstoupdate && paramstoupdate.hasOwnProperty('totalPrice')) {
|
|
updatetotals = false;
|
|
}
|
|
if (updatetotals) {
|
|
|
|
// Aggiorno il Totale degli Ordini (OrdersCart)
|
|
await OrdersCart.updateOrdersCartTotals(idOrdersCart, true)
|
|
.then((orderscart) => {
|
|
return res.send({ code: server_constants.RIS_CODE_OK, orderscart });
|
|
}).catch(err => {
|
|
console.log('ERR:', err);
|
|
res.status(400).send();
|
|
});
|
|
} else {
|
|
return res.send({ code: server_constants.RIS_CODE_OK, orderscart });
|
|
}
|
|
} catch (e) {
|
|
console.error('Err', e);
|
|
}
|
|
|
|
});
|
|
|
|
|
|
router.post('/sendmail', authenticate, async function (req, res, next) {
|
|
const idOrdersCart = req.body.idOrdersCart;
|
|
const idapp = req.body.idapp;
|
|
const test = req.body.test;
|
|
const previewonly = req.body.previewonly;
|
|
const templemail_id = req.body.templemail_id;
|
|
|
|
try {
|
|
// Invia Email
|
|
let myOrderCart = await OrdersCart.getOrdersCartById(idOrdersCart);
|
|
if (myOrderCart) {
|
|
const userto = myOrderCart.user;
|
|
let emailto = userto.email;
|
|
|
|
if (userto && emailto) {
|
|
const emailsend = await sendemail.sendEmail_byTemplate(idapp, userto, previewonly, emailto, templemail_id, test);
|
|
|
|
return res.send({ code: server_constants.RIS_CODE_OK, emailsend });
|
|
}
|
|
}
|
|
|
|
return res.send({ code: server_constants.RIS_CODE_OK, emailsend: false });
|
|
|
|
} catch (e) {
|
|
console.error('err:', e);
|
|
res.status(400).send(e);
|
|
}
|
|
|
|
});
|
|
|
|
module.exports = router;
|