diff --git a/.env.dev.pcb b/.env.dev.pcb index a0dd199..3e28db4 100644 --- a/.env.dev.pcb +++ b/.env.dev.pcb @@ -4,8 +4,9 @@ PDB=mypassword@1A SEND_EMAIL=0 SEND_EMAIL_ORDERS=1 PORT=3000 -appTelegram_TEST=["1","17","18"] -appTelegram=["1","17","18"] +appTelegram_TEST=["1","17"] +appTelegram=["1","17"] +appTelegram_DEVELOP=["17"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=1 MONGODB_USER=admin diff --git a/.env.dev.riso b/.env.dev.riso index 7d444cb..345948f 100644 --- a/.env.dev.riso +++ b/.env.dev.riso @@ -6,6 +6,7 @@ SEND_EMAIL_ORDERS=1 PORT=3000 appTelegram_TEST=["1","13"] appTelegram=["1","13"] +appTelegram_DEVELOP=["13"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=1 MONGODB_USER=admin diff --git a/.env.development b/.env.development index 7d444cb..cc4b377 100644 --- a/.env.development +++ b/.env.development @@ -1,11 +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_TEST=["1","17","18"] +appTelegram=["1","17","18"] +appTelegram_DEVELOP=["17"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=1 MONGODB_USER=admin @@ -40,4 +41,7 @@ FTPSERVER_USER=ftpusrsrv_ 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"}] \ No newline at end of file +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 \ No newline at end of file diff --git a/.env.prod.pcb b/.env.prod.pcb index 51b68b0..86d9723 100644 --- a/.env.prod.pcb +++ b/.env.prod.pcb @@ -7,8 +7,8 @@ PORT=3000 appTelegram_TEST=["17","18"] appTelegram=["17","18"] ENABLE_PUSHNOTIFICATION=1 -DIRECTORY_SERVER=/var/www/www.freeplanet_server -SERVERDIR_WEBSITE= +DIRECTORY_SERVER=/var/www/nodejs_piuchebuono_server +SERVERDIR_WEBSITE=/var/www/piuchebuono.app PORT_APP1="0" DOMAIN=mongodb://localhost:32001/ AUTH_MONGODB=1 diff --git a/.env.test.pcb b/.env.test.pcb index 33a7e8d..8d8f0e0 100644 --- a/.env.test.pcb +++ b/.env.test.pcb @@ -8,7 +8,7 @@ appTelegram_TEST=["17","18"] appTelegram=["17","18"] ENABLE_PUSHNOTIFICATION=1 DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server -SERVERDIR_WEBSITE=test.piuchebuono.app +SERVERDIR_WEBSITE=var/www/test.piuchebuono.app PORT_APP1="0" DOMAIN=mongodb://localhost:32002/ AUTH_MONGODB=1 diff --git a/.env.test.risosrv b/.env.test.risosrv index 88ef5b8..224d31f 100644 --- a/.env.test.risosrv +++ b/.env.test.risosrv @@ -5,7 +5,7 @@ SEND_EMAIL=1 PORT=3001 ENABLE_PUSHNOTIFICATION=1 DIRECTORY_SERVER=/var/www/nodejs_test.riso_server -SERVERDIR_WEBSITE=test.riso.app +SERVERDIR_WEBSITE=/var/www/test.riso.app PORT_APP1="0" DOMAIN=mongodb://localhost:32012/ AUTH_MONGODB=1 diff --git a/deploy_solo1.sh b/deploy_solo1.sh index 31f2852..e6549f9 100755 --- a/deploy_solo1.sh +++ b/deploy_solo1.sh @@ -13,6 +13,6 @@ fi if [[ $risposta == "Y" || $risposta == "y" ]]; then echo "Sincronizzazione di 1 FILE in corso..." - rsync -avz -e 'ssh -p 8855' src/server/tools/general.js suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/src/server/tools/general.js + rsync -avz -e 'ssh -p 8855' src/server/tools/general.js suryapaolo@servereng:$SERVERDIR_WEBSITE/src/server/tools/general.js echo "Sincronizzazione TERMINATA - SERVER PRODUZIONE!" fi diff --git a/deploynodejs_on_test2.sh b/deploynodejs_on_test2.sh index 47b66e9..028042b 100755 --- a/deploynodejs_on_test2.sh +++ b/deploynodejs_on_test2.sh @@ -19,16 +19,16 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then echo "Sincronizzazione in corso... $SERVERDIR_WEBSITE" echo "Copiando .env.test2..." - rsync -avz -e 'ssh -p 8855' .env.test2 suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/.env.test + rsync -avz -e 'ssh -p 8855' .env.test2 suryapaolo@servereng:$SERVERDIR_WEBSITE/.env.test echo "Sincronizzazione in corso... src" - rsync -avz -e 'ssh -p 8855' -a --exclude 'src/router/upload' src suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' package.json suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/package.json - rsync -avz -e 'ssh -p 8855' css suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' docs suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' emails suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' images suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' plugins suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ - rsync -avz -e 'ssh -p 8855' sass suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' -a --exclude 'src/router/upload' src suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' package.json suryapaolo@servereng:$SERVERDIR_WEBSITE/package.json + rsync -avz -e 'ssh -p 8855' css suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' docs suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' emails suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' images suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' plugins suryapaolo@servereng:$SERVERDIR_WEBSITE/ + rsync -avz -e 'ssh -p 8855' sass suryapaolo@servereng:$SERVERDIR_WEBSITE/ echo "Sincronizzazione TERMINATA! - SERVER TEST2!" fi \ No newline at end of file diff --git a/ecosystem.config.pcb.js b/ecosystem.config.pcb.js index 3ce7fe5..4ad1ce1 100755 --- a/ecosystem.config.pcb.js +++ b/ecosystem.config.pcb.js @@ -2,7 +2,7 @@ module.exports = { apps: [ { name: "PRODUZIONE PiuCheBuono_ServerSide", - script: "/var/www/www.freeplanet_server/src/server/server.js", + script: "/var/www/nodejs_piuchebuono_server/src/server/server.js", ignore_watch: ["node_modules", "logs"], interpreter: "/root/.nvm/versions/node/v16.19.0/bin/node", //autorestart: true, diff --git a/emails/ecommerce/makeorder/it/html.pug b/emails/ecommerce/makeorder/it/html.pug index 1ea49dc..4525504 100755 --- a/emails/ecommerce/makeorder/it/html.pug +++ b/emails/ecommerce/makeorder/it/html.pug @@ -64,7 +64,7 @@ html each rec in orders.items - var descr = rec.order.product.productInfo.name - - var img = rec.order.product.productInfo.img + - var img = rec.order.product.productInfo.imagefile - var price = rec.order.price - var after_price = rec.order.after_price - var TotalPriceProduct = rec.order.TotalPriceProductstr @@ -118,7 +118,7 @@ html p Totale: #{TotalPriceProduct} € if (note) - p Note Aggiuntive: #{note} + p Note Aggiuntive: #{note}
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € tr diff --git a/emails/ecommerce/order_confirmed/it/html.pug b/emails/ecommerce/order_confirmed/it/html.pug index ab75787..11364da 100755 --- a/emails/ecommerce/order_confirmed/it/html.pug +++ b/emails/ecommerce/order_confirmed/it/html.pug @@ -62,7 +62,7 @@ html each rec in orders.items - var descr = rec.order.product.productInfo.name - - var img = rec.order.product.productInfo.img + - var img = rec.order.product.productInfo.imagefile - var price = rec.order.product.price - var after_price = rec.order.product.after_price if (rec.order.gasordine) @@ -117,7 +117,7 @@ html p Totale: #{TotalPriceProduct} € if (note) - p Note Aggiuntive: #{note} + p Note Aggiuntive: #{note}
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € tr diff --git a/emails/ecommerce/order_consegnato/it/html.pug b/emails/ecommerce/order_consegnato/it/html.pug index 127693f..1e2a61e 100755 --- a/emails/ecommerce/order_consegnato/it/html.pug +++ b/emails/ecommerce/order_consegnato/it/html.pug @@ -61,7 +61,7 @@ html each rec in orders.items - var descr = rec.order.product.productInfo.name - - var img = rec.order.product.productInfo.img + - var img = rec.order.product.productInfo.imagefile - var price = rec.order.product.price - var after_price = rec.order.product.after_price if (rec.order.gasordine) @@ -116,7 +116,7 @@ html p Totale: #{TotalPriceProduct} € if (note) - p Note Aggiuntive: #{note} + p Note Aggiuntive: #{note}
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € tr diff --git a/pcb_agg_server.js.sh b/pcb_agg_server.js.sh index 7ea6547..2173dc3 100755 --- a/pcb_agg_server.js.sh +++ b/pcb_agg_server.js.sh @@ -2,9 +2,9 @@ source ./.env.prod.pcb -echo "Sincronizzazione in corso PCB PRODUZIONE ... /var/www/$SERVERDIR_WEBSITE/" +echo "Sincronizzazione in corso PCB PRODUZIONE ... $SERVERDIR_WEBSITE/" echo "" -rsync -avz -e 'ssh -p 8822' src pcbuser@pcb:/var/www/$SERVERDIR_WEBSITE/ +rsync -avz -e 'ssh -p 8822' src pcbuser@pcb:$SERVERDIR_WEBSITE/ echo "Sincronizzazione TERMINATA! - SERVER PCB!" diff --git a/public/upload/products/avocado2.jpg b/public/upload/products/avocado2.jpg new file mode 100644 index 0000000..eeb876e Binary files /dev/null and b/public/upload/products/avocado2.jpg differ diff --git a/src/server/models/productInfo.js b/src/server/models/productInfo.js index 9b7a0ab..0684f3c 100755 --- a/src/server/models/productInfo.js +++ b/src/server/models/productInfo.js @@ -73,9 +73,15 @@ const productInfoSchema = new Schema({ icon: { type: String, }, - img: { // Se esiste img (sul server) visualizza questa, altrimenti vedi se esiste image_link + img: { type: String, }, + imagefile: { + type: String, + }, + vers_img: { + type: Number, + }, image_link: { type: String, }, @@ -221,7 +227,54 @@ module.exports.findAllIdApp = async function (idapp, code, id) { module.exports.getProductByCode = function (idapp, code) { return productInfo.findAllIdApp(idapp, code); } -module.exports.correggiProductTypes = async function() { +module.exports.replaceProductImgToImageFile = async function () { + const ProductInfo = this; + + let abilitaserver = false; + + if (abilitaserver) { + // const result = await ProductInfo.updateMany({ "img": { $exists: true } }, { $rename: { 'img': 'imagefile' } }); + + // Trova tutti i documenti con il campo 'img' che esiste + const documents = await ProductInfo.find({ "img": { $exists: true } }); + + // Aggiorna ciascun documento + for (let doc of documents) { + if (doc.img && doc.img.startsWith('/upload/products/')) { + // Rimuovi il prefisso '/upload/products' dal campo `img` + doc.imagefile = doc.img.replace(/^\/upload\/products\//, ''); + doc.img = undefined; // Può anche rimuovere il campo img corrente se desiderato + await doc.save(); // Salva il documento aggiornato + } + } + + console.log(`Updated ${documents.length} document(s) with new imagefile paths.`); + + } else { + const documents = await ProductInfo.find({ "imagefile": { $exists: true } }); + + // Aggiorna ciascun documento + for (let doc of documents) { + if (doc.imagefile && doc.imagefile.startsWith('upload/products/')) { + // Rimuovi il prefisso '/upload/products' dal campo `img` + doc.imagefile = doc.imagefile.replace(/^\upload\/products\//, ''); + await doc.save(); // Salva il documento aggiornato + } + } + + console.log(`Updated ${documents.length} document(s) with new imagefile paths.`); + + + } + + + await ProductInfo.updateMany({}, { 'vers_img': 0 }); + + console.log(`Updated ${result.modifiedCount} document(s).`); + +}; + +module.exports.correggiProductTypes = async function () { const ProductInfo = this; const bulkOps = []; diff --git a/src/server/router/admin_router.js b/src/server/router/admin_router.js index a7583d4..d679f57 100755 --- a/src/server/router/admin_router.js +++ b/src/server/router/admin_router.js @@ -63,9 +63,9 @@ async function downloadImgIfMissing(productInfo) { const img = 'upload/products/' + productInfo.image_link.split('/').pop(); const savePath = path.resolve(__dirname, img); // Sostituisci con il percorso dove salvare l'immagine - if (!productInfo.img || !fs.existsSync(savePath)) { + if (!productInfo.imagefile || !fs.existsSync(savePath)) { // Download image from the URL productInfo.image_link - productInfo.img = img; + productInfo.imagefile = img; const downloader = new ImageDownloader(); @@ -131,13 +131,13 @@ async function completaSettaggioProduct_AndProductInfo(arrcampi_productInfo, arr } if (!rec.hasOwnProperty('img') && product.code) { - productInfo.img = 'upload/products/' + product.code + '.jpg'; + productInfo.imagefile = 'upload/products/' + product.code + '.jpg'; } else { if (rec.hasOwnProperty('img')) { if (rec['img']) { - productInfo.img = 'upload/products/' + rec['img']; + productInfo.imagefile = 'upload/products/' + rec['img']; } else { - productInfo.img = ''; + productInfo.imagefile = ''; } } } @@ -1042,6 +1042,10 @@ router.post('/import', authenticate, async (req, res) => { product.active = true; } + if (productInfo.productTypes.length === 1 && productInfo.productTypes[0] === undefined) { + productInfo.productTypes = [shared_consts.PRODUCTTYPE.PRODUCT]; + } + let esisteindb = await ProductInfo.findOne({ code: productInfo.code }).lean(); // Update ProductInfo diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index 64a4484..813852c 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -957,7 +957,7 @@ router.patch('/chval', authenticate, async (req, res) => { precRec = await mytable.findById(id); } - return await mytable.findByIdAndUpdate(id, { $set: fieldsvalue }). + return await mytable.findByIdAndUpdate(id, { $set: fieldsvalue }, { new: true }). then(async (rec) => { // tools.mylogshow(' REC TO MODIFY: ', rec); if (!rec) { diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index 78438d3..ba2fa11 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -1650,6 +1650,9 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) { } else if (mydata.dbop === 'correggiProductTypes') { await ProductInfo.correggiProductTypes(); + } else if (mydata.dbop === 'replaceProductImgToImageFile') { + + await ProductInfo.replaceProductImgToImageFile(); } else if (mydata.dbop === 'correggiCircuitiANull') { diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 5ab412c..f6973e4 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -3,13 +3,12 @@ const tools = require('../tools/general'); const appTelegram = [tools.FREEPLANET, tools.RISO]; const appTelegram_TEST = [tools.FREEPLANET, tools.RISO]; -const appTelegram_DEVELOP = [tools.RISO]; -//const appTelegram_DEVELOP = [tools.PIUCHEBUONO]; +//const appTelegram_DEVELOP = [tools.RISO]; +const appTelegram_DEVELOP = [tools.PIUCHEBUONO]; const appTelegramFinti = ['2', tools.CNM]; const appTelegramDest = [tools.FREEPLANET, tools.FREEPLANET]; - const appTeleg_BotOnGroup = [tools.IDAPP_BOTONGROUP]; //PIPPO @@ -742,8 +741,8 @@ const MyTelegramBot = { }, getAppTelegramDevelop: function () { - if (process.env.appTelegram_TEST) { - return JSON.parse(process.env.appTelegram_TEST); + if (process.env.appTelegram_DEVELOP) { + return JSON.parse(process.env.appTelegram_DEVELOP); } else { return appTelegram_DEVELOP; } diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index ae8a13c..5ef79e6 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -1115,6 +1115,7 @@ module.exports = { PDF: 107, STREAMING: 108, + PRODUCT: 1000, }, AccountType: {