From d106a59bb522899c614d9a8bcc532a0b84353cac Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Mon, 10 Mar 2025 19:59:03 +0100 Subject: [PATCH] - corretta configurazione - fix problemi al database su piuchebuono una chiamata dava errore... const c = .... if (mycart && mycart.length > 0) { --- .env.development | 15 +++-- .env.test.pcb | 2 +- .env.test.risosrv | 2 +- deploynode_pcb_prod.sh | 2 +- deploynode_pcb_test.sh | 9 +-- deploynode_riso_prod.sh | 2 +- deploynode_riso_test.sh | 2 +- ...fig.pcb.js => ecosystem.config.pcb_prod.js | 5 +- ...testpcb.js => ecosystem.config.pcb_test.js | 1 - ...d_riso.js => ecosystem.config.riso_prod.js | 2 +- ...striso.js => ecosystem.config.riso_test.js | 1 - src/server/config/config.js | 4 +- src/server/db/mongoose.js | 6 +- src/server/models/orderscart.js | 58 ++++++++++--------- src/server/router/cart_router.js | 26 +++++---- src/server/router/index_router.js | 8 +-- 16 files changed, 77 insertions(+), 68 deletions(-) rename ecosystem.config.pcb.js => ecosystem.config.pcb_prod.js (77%) rename ecosystem.config.testpcb.js => ecosystem.config.pcb_test.js (95%) rename ecosystem.config.prod_riso.js => ecosystem.config.riso_prod.js (95%) rename ecosystem.config.testriso.js => ecosystem.config.riso_test.js (95%) diff --git a/.env.development b/.env.development index b9ebd80..3e71f55 100644 --- a/.env.development +++ b/.env.development @@ -1,12 +1,12 @@ -DATABASE=test_FreePlanet +DATABASE=test_PiuCheBuono UDB=paofreeplanet PDB=mypassword@1A SEND_EMAIL=0 SEND_EMAIL_ORDERS=1 PORT=3000 -appTelegram_TEST=["1","13"] -appTelegram=["1","13"] -appTelegram_DEVELOP=["13"] +appTelegram_TEST=["1","17"] +appTelegram=["1","17"] +appTelegram_DEVELOP=["17"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=0 ENABLE_PUSHNOTIFICATION=1 @@ -29,7 +29,7 @@ GCM_API_KEY="" PROD=0 PROJECT_DESCR_MAIN='__PROJECTS' SECRK=Askb38v23jjDFaoskBOWj92axXCQ -TOKEN_LIFE=1m +TOKEN_LIFE=2h REFRESH_TOKEN_LIFE=14d FTPSERVER_HOST=139.162.166.31 FTPSERVER_PORT=21 @@ -38,4 +38,9 @@ FTPSERVER_PWD=ftpmypwd@1A_ AUTH_NEW_SITES=123123123 SCRIPTS_DIR=admin_scripts CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}] +MIAB_HOST=box.lamiaposta.org +MIAB_ADMIN_EMAIL=admin@lamiaposta.org +MIAB_ADMIN_PASSWORD=passpao1pabox@1A DS_API_KEY="sk-222e3addb3d8455d8b0516d93906eec7" +API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK" +SERVER_A_URL="http://51.77.156.69:3000" \ No newline at end of file diff --git a/.env.test.pcb b/.env.test.pcb index f98ed5d..69511a4 100644 --- a/.env.test.pcb +++ b/.env.test.pcb @@ -15,7 +15,7 @@ DOMAIN_AUTH=mongodb://{username}:{password}@127.0.0.1:32002/ AUTH_MONGODB=1 AUTH_DB_PASSING=1 MONGODB_USER=admin -MONGODB_PWD=mypwadmin@1A +MONGODB_PWD=mypwadminS1A SIGNCODE=SU2134hncaskjdbo231oihJSDNHEI$1@AB VITE_DEBUG=0 LOCALE=0 diff --git a/.env.test.risosrv b/.env.test.risosrv index 6bc03e2..e548c02 100644 --- a/.env.test.risosrv +++ b/.env.test.risosrv @@ -28,7 +28,7 @@ PATH_SSL_CHAIN_PEM=chain.pem PROD=0 PROJECT_DESCR_MAIN='__PROJECTS' SECRK=iUUb38v23jjDFaosWj92axkBOXCQ -TOKEN_LIFE=1m +TOKEN_LIFE=2h REFRESH_TOKEN_LIFE=14d AUTH_NEW_SITES=B234HDSAOJ734ndcsdKWNV DOMAINS=[{"hostname":"riso.app","port":"3005"}] diff --git a/deploynode_pcb_prod.sh b/deploynode_pcb_prod.sh index 78b5d97..b7a6afb 100755 --- a/deploynode_pcb_prod.sh +++ b/deploynode_pcb_prod.sh @@ -64,7 +64,7 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then echo "" echo "*** Copia del file ecosystem.config.js ... " rsync -avz -e "ssh $SSH_OPTIONS" \ - ecosystem.config.pcb.js "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js" + ecosystem.config.pcb_test.js "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js" # Verifica il risultato if [ $? -eq 0 ]; then diff --git a/deploynode_pcb_test.sh b/deploynode_pcb_test.sh index 0e51992..76b3269 100755 --- a/deploynode_pcb_test.sh +++ b/deploynode_pcb_test.sh @@ -26,8 +26,8 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then REMOTE_DIR="$DIRECTORY_SERVER" SSH_OPTIONS="-p $REMOTE_PORT" - CONFIG_JS="ecosystem.config.testriso.js" - ENV_FILE=".env.test.risosrv" + CONFIG_JS="ecosystem.config.pcb_test.js" + ENV_FILE=".env.test.pcb" ENV_OUT=".env.test" # Array di cartelle e file da sincronizzare @@ -67,11 +67,6 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then rsync -avz -e "ssh $SSH_OPTIONS" \ package.json "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/package.json" - echo "" - echo "*** Copia del file ecosystem.config.testpcb.js in ecosystem.config.js ... " - rsync -avz -e "ssh $SSH_OPTIONS" \ - ecosystem.config.testpcb.js "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js" - echo "" echo "*** Copia del file $CONFIG_JS in ecosystem.config.js ... " rsync -avz -e "ssh $SSH_OPTIONS" \ diff --git a/deploynode_riso_prod.sh b/deploynode_riso_prod.sh index e39f57a..4c20a24 100755 --- a/deploynode_riso_prod.sh +++ b/deploynode_riso_prod.sh @@ -22,7 +22,7 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then REMOTE_PORT="8822" REMOTE_DIR="$DIRECTORY_SERVER" SSH_OPTIONS="-p $REMOTE_PORT" - CONFIG_JS="ecosystem.config.prod_riso.js" + CONFIG_JS="ecosystem.config.riso_prod.js" ENV_FILE=".env.prod.riso" ENV_OUT=".env.production" diff --git a/deploynode_riso_test.sh b/deploynode_riso_test.sh index d67fd7b..053a081 100755 --- a/deploynode_riso_test.sh +++ b/deploynode_riso_test.sh @@ -22,7 +22,7 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then REMOTE_PORT="8822" REMOTE_DIR="$DIRECTORY_SERVER" SSH_OPTIONS="-p $REMOTE_PORT" - CONFIG_JS="ecosystem.config.testriso.js" + CONFIG_JS="ecosystem.config.riso_test.js" ENV_FILE=".env.test.risosrv" ENV_OUT=".env.test" diff --git a/ecosystem.config.pcb.js b/ecosystem.config.pcb_prod.js similarity index 77% rename from ecosystem.config.pcb.js rename to ecosystem.config.pcb_prod.js index d33d8fb..5b62a8f 100755 --- a/ecosystem.config.pcb.js +++ b/ecosystem.config.pcb_prod.js @@ -1,10 +1,11 @@ module.exports = { apps: [ { - name: "PiuCheBuono", + name: "PiuCheBuono (Prod)", script: "/var/www/nodejs_piuchebuono_server/src/server/server.js", ignore_watch: ["node_modules", "logs"], - //autorestart: true, + interpreter: "/root/.nvm/versions/node/v22.13.1/bin/node", + //autorestart: true, instances: 1, watch: false, env: { diff --git a/ecosystem.config.testpcb.js b/ecosystem.config.pcb_test.js similarity index 95% rename from ecosystem.config.testpcb.js rename to ecosystem.config.pcb_test.js index a536a1d..0ba0d84 100755 --- a/ecosystem.config.testpcb.js +++ b/ecosystem.config.pcb_test.js @@ -5,7 +5,6 @@ module.exports = { script: "/var/www/nodejs_test.piuchebuono_server/src/server/server.js", ignore_watch: ["node_modules", "logs"], interpreter: "/root/.nvm/versions/node/v22.13.1/bin/node", - //autorestart: true, instances: 1, watch: false, env: { diff --git a/ecosystem.config.prod_riso.js b/ecosystem.config.riso_prod.js similarity index 95% rename from ecosystem.config.prod_riso.js rename to ecosystem.config.riso_prod.js index bc17f64..732ef0f 100755 --- a/ecosystem.config.prod_riso.js +++ b/ecosystem.config.riso_prod.js @@ -1,7 +1,7 @@ module.exports = { apps: [ { - name: "RISO", + name: "RISO (Prod)", script: "/var/www/nodejs_riso_server/src/server/server.js", ignore_watch: ["node_modules", "logs"], interpreter: "/root/.nvm/versions/node/v22.13.1/bin/node", diff --git a/ecosystem.config.testriso.js b/ecosystem.config.riso_test.js similarity index 95% rename from ecosystem.config.testriso.js rename to ecosystem.config.riso_test.js index ab097b4..de80492 100755 --- a/ecosystem.config.testriso.js +++ b/ecosystem.config.riso_test.js @@ -6,7 +6,6 @@ module.exports = { ignore_watch: ["node_modules", "logs"], interpreter: "/root/.nvm/versions/node/v22.13.1/bin/node", watch: false, - //autorestart: true, instances: 1, env_test: { "PORT": 3001, diff --git a/src/server/config/config.js b/src/server/config/config.js index eba13d1..defd485 100755 --- a/src/server/config/config.js +++ b/src/server/config/config.js @@ -46,8 +46,10 @@ const database = process.env.DATABASE || "test"; // Nome del database, default a if (process.env.AUTH_DB_PASSING === "1") { // replace username and password in the process.env.DOMAIN process.env.MONGODB_URI = process.env.DOMAIN_AUTH.replace('{username}', username).replace('{password}', password) + database; + process.env.MONGODB_URI_NOPWD = process.env.DOMAIN_AUTH.replace('{username}', username) + database; } else { process.env.MONGODB_URI = domain + database; + process.env.MONGODB_URI_NOPWD = domain + database; } -console.log('process.env.MONGODB_URI:', process.env.MONGODB_URI); +console.log('process.env.MONGODB_URI:', process.env.MONGODB_URI_NOPWD); diff --git a/src/server/db/mongoose.js b/src/server/db/mongoose.js index 9bf8901..b3ba4cc 100755 --- a/src/server/db/mongoose.js +++ b/src/server/db/mongoose.js @@ -41,7 +41,7 @@ console.log('Mongoose Version ' + mongoose.version); // URL di connessione const connectionUrl = process.env.MONGODB_URI; -console.log('Connessione a ' + connectionUrl + ' in corso...'); +console.log('Connessione a ' + process.env.MONGODB_URI_NOPWD + ' in corso...'); // Funzione per connettersi al database con retry async function connectToDatabase(uri, opts) { @@ -52,12 +52,12 @@ async function connectToDatabase(uri, opts) { console.log("Sto provando a connettermi al database..."); await mongoose.connect(uri); - console.log(' *** CONNESSIONE EFFETTUATA ! ' + uri + ' db: ' + process.env.DATABASE); + console.log(' *** CONNESSIONE EFFETTUATA ! ' + ' db: ' + process.env.DATABASE); console.log(' Database corrente:', mongoose.connection.name); // Ottieni l'URL completo della connessione - console.log(' URL di connessione:', mongoose.connection.client.s.url); + // console.log(' URL di connessione:', mongoose.connection.client.s.url); const db = mongoose.connection; const serverInfo = await db.db.admin().serverStatus(); // Ottieni lo stato del server diff --git a/src/server/models/orderscart.js b/src/server/models/orderscart.js index 0d88a92..39492c0 100755 --- a/src/server/models/orderscart.js +++ b/src/server/models/orderscart.js @@ -548,41 +548,47 @@ module.exports.updateOrdersCartById = async function(id, newOrdersCart, callback id, deleted: false, } + let mycart = null; try { - const c = await OrdersCart.find(query); + mycart = await OrdersCart.find(query); } catch (err) { console.log('ERR: updateOrdersCartById', err); if (err) throw err; } - //exist cart in databse - if (c.length > 0) { - return OrdersCart.findOneAndUpdate( - { _id: id }, - { - $set: { - items: newOrdersCart.items, - totalQty: newOrdersCart.totalQty, - totalQtyPreordered: newOrdersCart.totalQtyPreordered, - totalPrice: newOrdersCart.totalPrice, - totalPriceCalc: newOrdersCart.totalPriceCalc ? newOrdersCart.totalPriceCalc : newOrdersCart.totalPrice, - userId: userId, - status: newOrdersCart.status, - numorder: newOrdersCart.numorder, - numord_pers: newOrdersCart.numord_pers, - note: newOrdersCart.note, - modify_at: new Date(), - } - }, - { new: true }, - callback - ) - } else { - //no cart in database - return newOrdersCart.save(callback) + try { + //exist cart in databse + if (mycart && mycart.length > 0) { + return OrdersCart.findOneAndUpdate( + { _id: id }, + { + $set: { + items: newOrdersCart.items, + totalQty: newOrdersCart.totalQty, + totalQtyPreordered: newOrdersCart.totalQtyPreordered, + totalPrice: newOrdersCart.totalPrice, + totalPriceCalc: newOrdersCart.totalPriceCalc ? newOrdersCart.totalPriceCalc : newOrdersCart.totalPrice, + userId: userId, + status: newOrdersCart.status, + numorder: newOrdersCart.numorder, + numord_pers: newOrdersCart.numord_pers, + note: newOrdersCart.note, + modify_at: new Date(), + } + }, + { new: true }, + callback + ) + } else { + //no cart in database + return newOrdersCart.save(callback) + } + } catch (e) { + console.log('Err updateOrdersCartById', e.message); } } + module.exports.setFieldInOrdersById = async function (objtoset, myOrderCart) { try { diff --git a/src/server/router/cart_router.js b/src/server/router/cart_router.js index 23f5b98..550e40f 100755 --- a/src/server/router/cart_router.js +++ b/src/server/router/cart_router.js @@ -248,7 +248,7 @@ router.post('/:userId/createorderscart', authenticate, async function (req, res, let options = req.body.options; try { - let mycart = await Cart.findOne({ _id: cart_id }); + let mycart = await Cart.findOne({ _id: cart_id }).lean(); if (!mycart) { return res.send({ @@ -309,19 +309,21 @@ router.post('/:userId/createorderscart', authenticate, async function (req, res, .then(async (orders) => { if (!!orders) { - await OrdersCart.updateCmd(orders[0], status, true, req, options); + if (orders[0]) { + await OrdersCart.updateCmd(orders[0], status, true, req, options); - // Invia la email dell'Ordine - sendemail.sendEmail_OrderProduct(userDest.lang, idapp, orders[0], userDest) - .then(async (ris) => { - myorderCart = await OrdersCart.findById(idordercart).lean(); - return res.send({ - code: server_constants.RIS_CODE_OK, - status: myris.status, - orders: orders, - recOrderCart: myorderCart + // Invia la email dell'Ordine + sendemail.sendEmail_OrderProduct(userDest.lang, idapp, orders[0], userDest) + .then(async (ris) => { + myorderCart = await OrdersCart.findById(idordercart).lean(); + return res.send({ + code: server_constants.RIS_CODE_OK, + status: myris.status, + orders: orders, + recOrderCart: myorderCart + }); }); - }); + } } }); }) diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index d196bda..29cc6c0 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -1961,22 +1961,22 @@ function load(req, res, version) { operators, wheres, contribtype, - settings, + settings, // 5 permissions, disciplines, newstosent, mailinglist, - mypage, + mypage, // 10 gallery, paymenttype, calcstat, calzoom, - producers, + producers, // 15 cart, storehouses, departments, orderscart, - groups, + groups, // 20 resps, workers, internalpages,