- catalogo

- corretto logica del RefreshToken che non richiedeva il nuovo token, quindi scadeva tutte le volte, richiedendo sempre l'accesso !
This commit is contained in:
Surya Paolo
2025-01-07 16:50:55 +01:00
parent 7f6ed73763
commit 9fb7df56e6
24 changed files with 1199 additions and 59 deletions

View File

@@ -17,6 +17,7 @@ const ImportaDescr = require('../models/importadescr');
const ImportaIsbn = require('../models/importaisbn');
const ProductInfo = require('../models/productInfo');
const CatProd = require('../models/catprod');
const Collana = require('../models/collana');
const Author = require('../models/author');
const Publisher = require('../models/publisher');
const SubCatProd = require('../models/subcatprod');
@@ -842,6 +843,7 @@ router.post('/import', authenticate, async (req, res) => {
let risupdate = await ProductInfo.updateMany({ idapp }, {
$set: {
totVen: 0,
totFat: 0,
vLast3M: 0,
vLast6M: 0,
vLastY: 0,
@@ -873,6 +875,8 @@ router.post('/import', authenticate, async (req, res) => {
// split versioneGM in array with separated ","
let arrversGM = versGM.split(",").map(x => x.trim());
const recproductInfoAttuale = await ProductInfo.findOne({ idapp, code: productInfo.code });
let productInfo = {
idapp: product.idapp,
code: product.isbn ? product.isbn : product.code,
@@ -882,13 +886,29 @@ router.post('/import', authenticate, async (req, res) => {
// name: product.title,
totVen: product.totVen || 0,
totFat: product.totFat || 0,
vLast3M: product.vLast3M || 0,
fatLast3M: product.fatLast3M || 0,
vLast6M: product.vLast6M || 0,
vLastY: product.vLastY || 0,
vLast2Y: product.vLast2Y || 0,
rank3M: product.rank3M || 0,
rank6M: product.rank6M || 0,
rank1Y: product.rank1Y || 0,
}
// Aggiorna la collana solo se non è stata già impostata nel record attuale
if (recproductInfoAttuale && !recproductInfoAttuale.idCollana && product.DescrizioneCollana) {
productInfo.idCollana = product.IdCollana;
reccollana = await Collana.findOne({ idapp, idCollana }).lean();
if (!reccollana) {
// Non esiste questa collana, quindi la creo !
reccoll = new Collana({ idapp, idCollana: product.IdCollana, descrizione: product.DescrizioneCollana });
ris = await reccoll.save();
}
}
if (product.DataPubblicazione) {
@@ -902,7 +922,7 @@ router.post('/import', authenticate, async (req, res) => {
// Update ProductInfo
let risrecInfo = await ProductInfo.findOneAndUpdate({ code: productInfo.code }, { $set: productInfo }, { new: true, upsert: false });
let risrecInfo = await ProductInfo.findOneAndUpdate({ idapp, code: productInfo.code }, { $set: productInfo }, { new: true, upsert: false });
if (risrecInfo) {
imported++;
if (imported % 100 === 0)
@@ -1023,7 +1043,7 @@ router.post('/import', authenticate, async (req, res) => {
name: product.title,
description: product.description,
short_descr: product.short_descr,
publisher: product.Editore,
publisher: product.editore,
collezione: product.Collezione,
// author: product.Autore ? product.Autore : '',
link: product.link ? product.link : '',

View File

@@ -72,6 +72,10 @@ router.post('/load', authenticate, async (req, res) => {
}
*/
if (data === null) {
data = null;
}
const users_in_circuit = await Circuit.getUsersSingleCircuit(idapp, req.user.username, data.name, data._id);
data = await getCircuitRecAdminsInfo(idapp, data);

View File

@@ -75,6 +75,7 @@ const SubCatProd = require('../models/subcatprod');
const Gasordine = require('../models/gasordine');
const Product = require('../models/product');
const Author = require('../models/author');
const Collana = require('../models/collana');
const Publisher = require('../models/publisher');
const ProductInfo = require('../models/productInfo');
const Scontistica = require('../models/scontistica');
@@ -856,11 +857,27 @@ async function duplicatePage(pageId, newpath) {
// Duplica ogni elemento utilizzando il nuovo idPath
const duplicates = elemsToDuplicate.map(elem => {
const catalogo = elem.catalogo;
for (const recscheda of catalogo.arrSchede) {
if (recscheda.scheda?.isTemplate) {
// Se è un template allora devo mettergli un altro ID !
recscheda.scheda._id = new mongoose.Types.ObjectId();
// recscheda.scheda.name = getNewFreeNameTemplate(recscheda.scheda?.name)
}
}
let newelem = { ...elem };
elem.catalogo = { ...catalogo };
const newElem = new MyElem({
...elem, // Copia le proprietà dell'elemento
_id: new mongoose.Types.ObjectId(), // Genera un nuovo ID
idPage: newPage._id.toString() // Imposta il nuovo campo IdPage
});
return newElem;
});
@@ -1827,6 +1844,7 @@ function load(req, res, version) {
let storehouses = Storehouse.findAllIdApp(idapp);
let providers = Provider.findAllIdApp(idapp);
let catprods = Product.getArrCatProds(idapp, shared_consts.PROD.BOTTEGA);
let collane = Collana.findAllIdApp(idapp);
let catprods_gas = Product.getArrCatProds(idapp, shared_consts.PROD.GAS);
let subcatprods = SubCatProd.findAllIdApp(idapp);
let gasordines = Gasordine.findAllIdApp(idapp);
@@ -1939,6 +1957,7 @@ function load(req, res, version) {
authors,
publishers,
myschedas,
collane,
]).then((arrdata) => {
// console.table(arrdata);
let myuser = req.user;
@@ -2034,6 +2053,7 @@ function load(req, res, version) {
authors: arrdata[49],
publishers: arrdata[50],
myschedas: arrdata[51],
collane: arrdata[52],
});
const prova = 1;