- aggiornata la grafica della Home di RISO
- Profilo Completition - Email Verificata - Invita un Amico (invio di email)
This commit is contained in:
545
src/modules/CronMod.js
Normal file
545
src/modules/CronMod.js
Normal file
@@ -0,0 +1,545 @@
|
||||
const { User } = require('../models/user');
|
||||
|
||||
const Hours = require('../models/hours');
|
||||
const { ObjectId } = require('mongodb');
|
||||
|
||||
const tools = require('../tools/general');
|
||||
const shared_consts = require('../tools/shared_nodejs');
|
||||
|
||||
const server_constants = require('../tools/server_constants');
|
||||
|
||||
const { Settings } = require('../models/settings');
|
||||
const { MyBot } = require('../models/bot');
|
||||
const { MyElem } = require('../models/myelem');
|
||||
|
||||
const telegrambot = require('../telegram/telegrambot');
|
||||
|
||||
const Cart = require('../models/cart');
|
||||
const CartClass = require('../modules/Cart');
|
||||
const Product = require('../models/product');
|
||||
const ProductInfo = require('../models/productInfo');
|
||||
const CatProd = require('../models/catprod');
|
||||
const SubCatProd = require('../models/subcatprod');
|
||||
const Order = require('../models/order');
|
||||
const OrdersCart = require('../models/orderscart');
|
||||
const Variant = require('../models/variant');
|
||||
const TypedError = require('../modules/ErrorHandler');
|
||||
|
||||
const { MyGroup } = require('../models/mygroup');
|
||||
const { Circuit } = require('../models/circuit');
|
||||
const { Province } = require('../models/province');
|
||||
const { City } = require('../models/city');
|
||||
const { Account } = require('../models/account');
|
||||
const { Catalog } = require('../models/catalog');
|
||||
|
||||
const Macro = require('../modules/Macro');
|
||||
|
||||
class CronMod {
|
||||
constructor() {}
|
||||
|
||||
async eseguiDbOp(idapp, mydata, req, res) {
|
||||
let ris = await User.DbOp(idapp, mydata);
|
||||
|
||||
mydata.idapp = idapp;
|
||||
|
||||
const populate = require('../populate/populate');
|
||||
|
||||
const globalTables = require('../tools/globalTables');
|
||||
const { Reaction } = require('../models/reaction');
|
||||
|
||||
const AmazonBookScraper = require('../modules/Scraping');
|
||||
|
||||
const GenPdf = require('../modules/GenPdf');
|
||||
|
||||
let mystr = '';
|
||||
|
||||
try {
|
||||
if (mydata.dbop === '') {
|
||||
// } else if (mydata.dbop === 'rigeneraTutto') {
|
||||
// await ListaIngresso.Esegui_CronTab(idapp, mydata);
|
||||
} else if (mydata.dbop === 'ScraperMultipleDataAmazon') {
|
||||
mystr = await AmazonBookScraper.ScraperMultipleDataAmazon(idapp, {
|
||||
update: true,
|
||||
aggiornasoloSeVuoti: true,
|
||||
forzaricarica: false,
|
||||
});
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'EsportaInfoProductExtra') {
|
||||
const macro = new Macro(idapp, {});
|
||||
mystr = await macro.EsportaInfoProductExtra();
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'ImportaInfoProductExtra') {
|
||||
const macro = new Macro(idapp, {});
|
||||
mystr = await macro.ImportaInfoProductExtra();
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'ScraperEstraiDatiAmazon-NoUpdate') {
|
||||
mystr = await AmazonBookScraper.ScraperMultipleDataAmazon(idapp, {
|
||||
update: false,
|
||||
aggiornasoloSeVuoti: false,
|
||||
forzaricarica: true,
|
||||
caricatutti: true,
|
||||
});
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'ScraperGeneraCSV') {
|
||||
mystr = await AmazonBookScraper.ScraperGeneraCSV(idapp, mydata.options, res);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'removeDuplicateVariations') {
|
||||
mystr = await AmazonBookScraper.removeDuplicateVariations(idapp, mydata.options);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'ScraperAzzeraFlagProducts') {
|
||||
mystr = await AmazonBookScraper.ScraperAzzeraFlagProducts(idapp, mydata.options);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'GeneraPdfCatalogo') {
|
||||
const genPdf = new GenPdf(idapp);
|
||||
|
||||
await genPdf.launch();
|
||||
|
||||
return await genPdf.generatePdfFromIdCatalog(mydata.options);
|
||||
} else if (mydata.dbop === 'GeneraPdfRaccolta') {
|
||||
const genPdf = new GenPdf(idapp);
|
||||
|
||||
await genPdf.launch();
|
||||
|
||||
return await genPdf.generatePdfFromIdRaccolta(mydata.options);
|
||||
} else if (mydata.dbop === 'onlinePdfRaccolta') {
|
||||
const genPdf = new GenPdf(idapp);
|
||||
|
||||
await genPdf.launch();
|
||||
|
||||
mydata.options.idapp = idapp;
|
||||
|
||||
return await genPdf.onlinePdfFromIdRaccolta(mydata.options);
|
||||
} else if (mydata.dbop === 'ReplaceAllCircuits') {
|
||||
// ++ Replace All Circuitname with 'Circuito RIS %s'
|
||||
await Circuit.replaceAllCircuitNames(idapp);
|
||||
} else if (mydata.dbop === 'eliminaCatProds') {
|
||||
await CatProd.deleteMany({ idapp });
|
||||
await SubCatProd.deleteMany({ idapp });
|
||||
} else if (mydata.dbop === 'removeProductInfoWithoutDateUpdatedFromGM') {
|
||||
mystr = await Product.removeProductInfoWithoutDateUpdatedFromGM(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'resetImageNotFound') {
|
||||
mystr = await Product.resetImageNotFound();
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'StatMacro') {
|
||||
const macro = new Macro(idapp, {});
|
||||
mystr = await macro.getStat();
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'updateAllBook') {
|
||||
// chiama updateAllBook
|
||||
const { updateAllBook } = require('../controllers/articleController');
|
||||
|
||||
mystr = await updateAllBook(idapp, mydata.options);
|
||||
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'updateAllBooksAndRemoveCanc') {
|
||||
// chiama updateAllBooksAndRemoveCanc
|
||||
|
||||
const { updateAllBook } = require('../controllers/articleController');
|
||||
|
||||
console.log('updateAllBooksAndRemoveCanc...');
|
||||
|
||||
mystr = await updateAllBook(idapp, {
|
||||
usaDBGMLocale: false,
|
||||
caricatutti: true,
|
||||
rimuovieventualiCancellati: true,
|
||||
});
|
||||
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'creaUtentiTest') {
|
||||
let num = 0;
|
||||
lastrec = await User.find({ idapp }).sort({ _id: -1 }).limit(1);
|
||||
let last = 1;
|
||||
if (lastrec) {
|
||||
last = lastrec[0].index;
|
||||
}
|
||||
if (!last) {
|
||||
last = 1;
|
||||
}
|
||||
|
||||
for (let ind = 0; ind < 100; ind++) {
|
||||
let myuser = new User();
|
||||
myuser._id = new ObjectId();
|
||||
myuser.index = last + ind + 1;
|
||||
myuser.idapp = idapp;
|
||||
myuser.password = '$2a$12$DEaX1h5saTUVC43f7kubyOAlah1xHDgqQTfSIux0.RFDT9WGbyCaG';
|
||||
myuser.lang = 'it';
|
||||
myuser.email = 'miaemail@email.it';
|
||||
myuser.name = 'U' + myuser.index;
|
||||
myuser.surname = 'Ar' + myuser.index;
|
||||
myuser.verified_email = true;
|
||||
myuser.verified_by_aportador = true;
|
||||
if (myuser.index < 2) myuser.perm = '3';
|
||||
myuser.username = 'Userna_' + myuser.name;
|
||||
myuser.profile.special_req = true;
|
||||
myuser.profile.nationality = 'IT';
|
||||
await myuser.save();
|
||||
num++;
|
||||
}
|
||||
|
||||
ris = { num };
|
||||
/*} else if (mydata.dbop === 'visuPlacca') {
|
||||
|
||||
mystr = '✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨\n' +
|
||||
'NAVI CHE SALPANO DALLA ' + mydata.riga + '.' + mydata.col + ' ALLA ' + mydata.riga + '.' + (parseInt(mydata.col) + 7) + '\n' +
|
||||
'AUGURI ALLA NUOVA SOGNATRICE !!!\n' +
|
||||
'✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨';
|
||||
|
||||
const visu_nave_Bot = await Settings.getValDbSettings(idapp, 'VISU_NAVE_BOT');
|
||||
|
||||
for (let ind = 0; ind < 8; ind++) {
|
||||
mystr += await Nave.getNavePos(idapp, parseInt(mydata.riga), parseInt(mydata.col) + ind, false);
|
||||
mystr += tools.ACAPO;
|
||||
if (visu_nave_Bot && ind === 3) {
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr, true);
|
||||
mystr = '';
|
||||
}
|
||||
}
|
||||
|
||||
if (visu_nave_Bot)
|
||||
await telegrambot.sendMsgTelegramToTheAdmin(idapp, mystr, true);
|
||||
|
||||
ris = { mystr };
|
||||
*/
|
||||
} else if (mydata.dbop === 'CorreggiTabHours') {
|
||||
ris = await Hours.correggiHours(idapp);
|
||||
} else if (mydata.dbop === 'setVerifiedByAportadorToALL') {
|
||||
ris = await User.setVerifiedByAportadorToALL();
|
||||
} else if (mydata.dbop === 'RewriteContribType') {
|
||||
ris = populate.rewriteTable('contribtypes');
|
||||
} else if (mydata.dbop === 'ReplaceUsername') {
|
||||
if (User.isAdmin(req.user.perm)) {
|
||||
ris = globalTables.replaceUsername(req.body.idapp, mydata.search_username, mydata.replace_username);
|
||||
}
|
||||
} else if (mydata.dbop === 'ExitFromAllCircuitWithZero') {
|
||||
if (User.isAdmin(req.user.perm)) {
|
||||
ris = globalTables.ExitFromAllCircuitWithZero(req.body.idapp, mydata.search_username);
|
||||
}
|
||||
} else if (mydata.dbop === 'replaceAportadorSolidario') {
|
||||
if (User.isAdmin(req.user.perm)) {
|
||||
ris = globalTables.replaceAportadorSolidario(req.body.idapp, mydata.search_username, mydata.replace_username);
|
||||
}
|
||||
} else if (mydata.dbop === 'SearchString') {
|
||||
if (User.isAdmin(req.user.perm)) {
|
||||
mystr = await globalTables.SearchString(req.body.idapp, mydata.search);
|
||||
}
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'UpdateCatDeleteEmpty') {
|
||||
mystr = await CatProd.updateCatDeleteEmpty(req.body.idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'UpdateStatFatturato') {
|
||||
mystr = await Product.updateProductInfoByStats(req.body.idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'MigrateMSSQLToMongoDb') {
|
||||
const { mssqlmigrateTables } = require('../controllers/articleController');
|
||||
|
||||
mystr = await mssqlmigrateTables(req);
|
||||
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'copyFrom1To14') {
|
||||
const idapporig = 1;
|
||||
const idappdest = 14;
|
||||
if (!idapporig || !idappdest) return;
|
||||
|
||||
const globalTables = require('../tools/globalTables');
|
||||
|
||||
//++ Todo: TO FIXIT !
|
||||
const mytablesstr = ['settings', 'users', 'templemail', 'destnewsletter', 'contribtypes', 'bots', 'cfgservers'];
|
||||
|
||||
try {
|
||||
let numrectot = 0;
|
||||
for (const table of mytablesstr) {
|
||||
const mytable = globalTables.getTableByTableName(table);
|
||||
|
||||
tools.mylogshow('copyfromapptoapp: ', table, mytable);
|
||||
|
||||
await mytable.DuplicateAllRecords(idapporig, idappdest).then((numrec) => {
|
||||
// tools.mylogshow(' REC TO MODIFY: ', rec);
|
||||
if (numrec) numrectot += numrec;
|
||||
});
|
||||
}
|
||||
|
||||
ris = true;
|
||||
} catch (e) {
|
||||
console.log('e', e);
|
||||
}
|
||||
} else if (mydata.dbop === 'removeRecordsFav') {
|
||||
// Passa le tabelle da users sulle nuove tabelle:
|
||||
await User.removerecordsFavorite();
|
||||
} else if (mydata.dbop === 'updateReactionsCounts') {
|
||||
await Reaction.updateReactionsCounts();
|
||||
} else if (mydata.dbop === 'GeneraCSVOrdineProdotti') {
|
||||
await Order.GeneraCSVOrdineProdotti();
|
||||
} else if (mydata.dbop === 'RemoveDeletedOrdersInOrderscart') {
|
||||
await Order.RemoveDeletedOrdersInOrderscart();
|
||||
} else if (mydata.dbop === 'CheckTransazioniCircuiti') {
|
||||
await Circuit.CheckTransazioniCircuiti(false);
|
||||
} else if (mydata.dbop === 'CorreggiTransazioniCircuiti') {
|
||||
await Circuit.CheckTransazioniCircuiti(true);
|
||||
} else if (mydata.dbop === 'RemovePendentTransactions') {
|
||||
ris = await SendNotif.RemovePendentTransactions(idapp);
|
||||
} else if (mydata.dbop === 'RemoveOldNotif90') {
|
||||
await SendNotif.RemoveOldNotif90(idapp);
|
||||
} else if (mydata.dbop === 'RemoveOldNotif30') {
|
||||
await SendNotif.RemoveOldNotif30(idapp);
|
||||
} else if (mydata.dbop === 'UpdateCoordProv') {
|
||||
await Province.setCoordinatesOnDB();
|
||||
} else if (mydata.dbop === 'insertGeojsonToMongoDB') {
|
||||
await City.insertGeojsonToMongoDB('comuni_italia.geojson');
|
||||
} else if (mydata.dbop === 'listCollectionsBySize') {
|
||||
mystr = await tools.listCollectionsBySize();
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'EnableNewsOn_ToAll') {
|
||||
mystr = await User.setNewsletterToAll(idapp);
|
||||
} else if (mydata.dbop === 'MyElemSetIdPageInsteadThePah') {
|
||||
mystr = await MyElem.SetIdPageInsteadThePah(idapp);
|
||||
ris = { mystr };
|
||||
} else if (mydata.dbop === 'AbilitaNewsletterALL') {
|
||||
await User.updateMany(
|
||||
{
|
||||
$or: [{ deleted: { $exists: false } }, { deleted: { $exists: true, $eq: false } }],
|
||||
},
|
||||
{ $set: { news_on: true } },
|
||||
{ new: false }
|
||||
);
|
||||
} else if (mydata.dbop === 'SvuotaTuttiGliAccessiOnlineConToken') {
|
||||
await User.SvuotaTuttiGliAccessiOnlineConToken(idapp);
|
||||
} else if (mydata.dbop === 'SettaAdTypeOffro_In_Hosps') {
|
||||
const { MyHosp } = require('../models/myhosp');
|
||||
|
||||
await MyHosp.SettaAdTypeOffro_In_Hosps(idapp);
|
||||
} else if (mydata.dbop === 'removeRegulations') {
|
||||
await Circuit.updateMany({}, { $set: { regulation: '' } });
|
||||
} else if (mydata.dbop === 'newRecordsFav') {
|
||||
// Passa le tabelle da users sulle nuove tabelle:
|
||||
await User.moverecordsFavorite(1);
|
||||
await User.moverecordsFavorite(2);
|
||||
await User.moverecordsFavorite(3);
|
||||
await User.moverecordsFavorite(4);
|
||||
await User.moverecordsFavorite(5);
|
||||
} else if (mydata.dbop === 'emptyTabCatServiziBeni') {
|
||||
const { Sector } = require('../models/sector');
|
||||
const { SectorGood } = require('../models/sectorgood');
|
||||
const { Skill } = require('../models/skill');
|
||||
const { Good } = require('../models/good');
|
||||
|
||||
await Sector.deleteMany({});
|
||||
await SectorGood.deleteMany({});
|
||||
await Skill.deleteMany({});
|
||||
ris = await Good.deleteMany({});
|
||||
} else if (mydata.dbop === 'emptyDbSkill') {
|
||||
// Svuota e Ricrea
|
||||
|
||||
const { Sector } = require('../models/sector');
|
||||
const { SectorGood } = require('../models/sectorgood');
|
||||
const { Skill } = require('../models/skill');
|
||||
const { Good } = require('../models/good');
|
||||
const { SubSkill } = require('../models/subskill');
|
||||
const { Contribtype } = require('../models/contribtype');
|
||||
const { AdType } = require('../models/adtype');
|
||||
const { AdTypeGood } = require('../models/adtypegood');
|
||||
const { StatusSkill } = require('../models/statusSkill');
|
||||
const { CatGrp } = require('../models/catgrp');
|
||||
|
||||
await Sector.deleteMany({});
|
||||
await SectorGood.deleteMany({});
|
||||
await Skill.deleteMany({});
|
||||
await Good.deleteMany({});
|
||||
await SubSkill.deleteMany({});
|
||||
await Contribtype.deleteMany({});
|
||||
await AdType.deleteMany({});
|
||||
await AdTypeGood.deleteMany({});
|
||||
await StatusSkill.deleteMany({});
|
||||
await CatGrp.deleteMany({});
|
||||
|
||||
ris = await populate.popolaTabelleNuove();
|
||||
} else if (mydata.dbop === 'ricreaTabCitiesProvinces') {
|
||||
// Svuota e Ricrea
|
||||
|
||||
const { City } = require('../models/city');
|
||||
const { Province } = require('../models/province');
|
||||
|
||||
await City.deleteMany({});
|
||||
await Province.deleteMany({});
|
||||
|
||||
ris = await populate.popolaTabelleNuove();
|
||||
} else if (mydata.dbop === 'PopulateTables') {
|
||||
ris = populate.popolaTabelleNuove();
|
||||
} else if (mydata.dbop === 'dropProducts') {
|
||||
if (idapp) {
|
||||
const deleteProducts = await Product.deleteMany({ idapp });
|
||||
console.log(`Cancellati ${deleteProducts.deletedCount} record dalla collezione Product.`);
|
||||
|
||||
// Cancellazione dei record nella collezione ProductInfo
|
||||
const deleteProductInfo = await ProductInfo.deleteMany({ idapp });
|
||||
console.log(`Cancellati ${deleteProductInfo.deletedCount} record dalla collezione ProductInfo.`);
|
||||
}
|
||||
|
||||
ris = deleteProductInfo ? true : false;
|
||||
} else if (mydata.dbop === 'dropCatProd') {
|
||||
const deleteCatProd = await CatProd.deleteMany({ idapp });
|
||||
} else if (mydata.dbop === 'dropSubCatProd') {
|
||||
const deleteSubCatProd = await SubCatProd.deleteMany({ idapp });
|
||||
} else if (mydata.dbop === 'dropAllOrders') {
|
||||
try {
|
||||
const deleteOrder = await Order.deleteMany({ idapp });
|
||||
const deleteOrdersCart = await OrdersCart.deleteMany({ idapp });
|
||||
const deleteCart = await Cart.deleteMany({ idapp });
|
||||
|
||||
ris = deleteCart;
|
||||
} catch (e) {
|
||||
console.error('Err:', e);
|
||||
}
|
||||
} else if (mydata.dbop === 'SistemaGasOrdine') {
|
||||
const arrrec = await Product.find({}).lean();
|
||||
for (const rec of arrrec) {
|
||||
if (tools.isArray(rec.idGasordines) && rec.idGasordines.length > 0) {
|
||||
await Product.findByIdAndUpdate(rec._id, { $set: { idGasordine: rec.idGasordines[0] } });
|
||||
} else {
|
||||
await Product.findByIdAndUpdate(rec._id, { $set: { idGasordine: null } });
|
||||
}
|
||||
}
|
||||
} else if (mydata.dbop === 'CopyPriceToCalc') {
|
||||
try {
|
||||
const arrrec = await OrdersCart.find({}).lean();
|
||||
for (const rec of arrrec) {
|
||||
await OrdersCart.findByIdAndUpdate(rec._id, { $set: { totalPriceCalc: rec.totalPrice } });
|
||||
}
|
||||
|
||||
const arrrec2 = await Order.find({}).lean();
|
||||
for (const rec of arrrec2) {
|
||||
await Order.findByIdAndUpdate(rec._id, { $set: { TotalPriceProductCalc: rec.TotalPriceProduct } });
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Err:', e);
|
||||
}
|
||||
} else if (mydata.dbop === 'dropAllCarts') {
|
||||
ris = await Cart.deleteMany({ idapp });
|
||||
} else if (mydata.dbop === 'RewriteCitiesTable') {
|
||||
ris = populate.rewriteTable('cities');
|
||||
} else if (mydata.dbop === 'RewriteLevelsTable') {
|
||||
ris = populate.rewriteTable('levels');
|
||||
} else if (mydata.dbop === 'RewriteProvincesTable') {
|
||||
ris = populate.rewriteTable('provinces');
|
||||
} else if (mydata.dbop === 'emptyCityProvinces') {
|
||||
const { City } = require('../models/city');
|
||||
const { Province } = require('../models/province');
|
||||
|
||||
await City.deleteMany({});
|
||||
await Province.deleteMany({});
|
||||
} else if (mydata.dbop === 'ConvTablesFromIntToString') {
|
||||
const { MySkill } = require('../models/myskill');
|
||||
const { MyBacheca } = require('../models/mybacheca');
|
||||
const { MyHosp } = require('../models/myhosp');
|
||||
const { MyGood } = require('../models/mygood');
|
||||
// const { MyGroup } = require('../models/mygroup');
|
||||
|
||||
console.log('INIZIO - Conversioni');
|
||||
// 'myskills',
|
||||
// 'mybachecas',
|
||||
// 'myhosps',
|
||||
// 'mygoods',
|
||||
// 'mygroups'
|
||||
|
||||
await ConvertiDaIntAStr(MySkill);
|
||||
await ConvertiDaIntAStr(MyBacheca);
|
||||
await ConvertiDaIntAStr(MyHosp);
|
||||
await ConvertiDaIntAStr(MyGood);
|
||||
await ConvertiDaIntAStr(MyGroup);
|
||||
|
||||
console.log('FINE - Conversioni');
|
||||
} else if (mydata.dbop === 'Removeinteger') {
|
||||
const { MySkill } = require('../models/myskill');
|
||||
const { MyBacheca } = require('../models/mybacheca');
|
||||
const { MyHosp } = require('../models/myhosp');
|
||||
const { MyGood } = require('../models/mygood');
|
||||
// const { MyGroup } = require('../models/mygroup');
|
||||
|
||||
console.log('INIZIO - Rimozione');
|
||||
|
||||
await RimuoviInteri(MySkill);
|
||||
await RimuoviInteri(MyBacheca);
|
||||
await RimuoviInteri(MyHosp);
|
||||
await RimuoviInteri(MyGood);
|
||||
await RimuoviInteri(MyGroup);
|
||||
|
||||
console.log('FINE - Rimozione');
|
||||
} else if (mydata.dbop === 'createAllCircuits') {
|
||||
const { Province } = require('../models/province');
|
||||
|
||||
const arrProv = await Province.find({});
|
||||
for (const recprov of arrProv) {
|
||||
await Circuit.createCircuitIfNotExist(req, idapp, recprov.prov);
|
||||
}
|
||||
} else if (mydata.dbop === 'correggiProductTypes') {
|
||||
await Product.correggiProductTypes();
|
||||
} else if (mydata.dbop === 'replaceProductImgToImageFile') {
|
||||
await Product.replaceProductImgToImageFile(true);
|
||||
} else if (mydata.dbop === 'removeUploadProducts_Path') {
|
||||
await Product.replaceProductImgToImageFile(false);
|
||||
} else if (mydata.dbop === 'correggiCircuitiANull') {
|
||||
await User.updateMany({}, { $pull: { 'profile.mycircuits': { circuitname: null } } });
|
||||
} else if (mydata.dbop === 'ImpostaMinMaxPersonali') {
|
||||
await Account.SetMinMaxPersonali(idapp, mydata.valmin, mydata.valmax, '');
|
||||
} else if (mydata.dbop === 'ImpostaMinMaxPersonaliCircuito') {
|
||||
await Account.SetMinMaxPersonali(idapp, mydata.valmin, mydata.valmax, mydata.circuitId);
|
||||
} else if (mydata.dbop === 'ImpostaMinMaxComunitari') {
|
||||
await Account.SetMinMaxComunitari(idapp, mydata.valmin, mydata.valmax);
|
||||
} else if (mydata.dbop === 'ImpostaMinMaxCollettivi') {
|
||||
await Account.SetMinMaxCollettivi(idapp, mydata.valmin, mydata.valmax);
|
||||
} else if (mydata.dbop === 'ImpostaDefMinMaxPersonali') {
|
||||
await Circuit.SetDefMinMaxPersonali(idapp, mydata.valmin, mydata.valmax, mydata.circuitId);
|
||||
} else if (mydata.dbop === 'ImpostaDefMinMaxCollettivi') {
|
||||
await Circuit.SetDefMinMaxCollettivi(idapp, mydata.valmin, mydata.valmax, mydata.circuitId);
|
||||
} else if (mydata.dbop === 'AbilitaTuttiCircuiti') {
|
||||
await Circuit.AbilitaTuttiCircuiti(idapp);
|
||||
} else if (mydata.dbop === 'AzzeraRegolamentiTuttiCircuiti') {
|
||||
await Circuit.AzzeraRegolamentiTuttiCircuiti(idapp);
|
||||
} else if (mydata.dbop === 'setstrProvByIdCityCircuits') {
|
||||
await Circuit.setstrProvByIdCityCircuits(idapp);
|
||||
} else if (mydata.dbop === 'updateSaldoAndTransato_AllAccounts') {
|
||||
await Account.updateSaldoAndTransato_AllAccounts(idapp);
|
||||
} else if (mydata.dbop === 'generateBotMenuRecords') {
|
||||
await MyBot.generateBotMenuRecords(idapp);
|
||||
} else if (mydata.dbop === 'GenerateVapiKey') {
|
||||
await tools.generateVapiKey();
|
||||
} else if (mydata.dbop === 'convertProductInfos') {
|
||||
const products = await Product.find({ idProductInfo: { $exists: true } });
|
||||
console.log(
|
||||
'eseguiDbOpUser: convertProductInfos - TrovaticonvertProductInfos ',
|
||||
products.length,
|
||||
' prodotti con idProductInfo'
|
||||
);
|
||||
|
||||
let aggiornati = 0;
|
||||
for (const product of products) {
|
||||
const productInfo = await ProductInfo.findById(product.idProductInfo);
|
||||
if (productInfo) {
|
||||
const productInfoObj = productInfo.toObject();
|
||||
delete productInfoObj._id;
|
||||
delete productInfoObj.__v;
|
||||
await Product.updateOne(
|
||||
{ _id: product._id },
|
||||
{
|
||||
$set: { productInfo: productInfoObj },
|
||||
$unset: { idProductInfo: 1 },
|
||||
}
|
||||
);
|
||||
|
||||
aggiornati++;
|
||||
|
||||
// ✅ Cancella il record ProductInfo ora che è stato copiato
|
||||
await ProductInfo.deleteOne({ _id: productInfo._id });
|
||||
}
|
||||
}
|
||||
console.log('eseguiDbOpUser - Aggiornati ', aggiornati, ' prodotti');
|
||||
}
|
||||
|
||||
return ris;
|
||||
} catch (e) {
|
||||
console.log(e.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = CronMod;
|
||||
Reference in New Issue
Block a user