Aggiornamenti

This commit is contained in:
Paolo Arena
2020-04-24 10:29:25 +02:00
parent 4a9fa9cf61
commit 2549d43447
21 changed files with 733 additions and 390 deletions

View File

@@ -388,6 +388,8 @@ router.patch('/chval', authenticate, async (req, res) => {
}
}
let index = 0;
await mytable.findByIdAndUpdate(id, { $set: fieldsvalue }).then(async (rec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) {
@@ -422,6 +424,12 @@ router.patch('/chval', authenticate, async (req, res) => {
}
}
} else if (mydata.table === 'navi') {
if ('made_gift' in fieldsvalue) {
if (!!fieldsvalue.riga) {
await Nave.ricalcolaNave(idapp, null, fieldsvalue.riga, fieldsvalue.col, true, index)
}
}
}
if (msg !== '')
@@ -433,11 +441,129 @@ router.patch('/chval', authenticate, async (req, res) => {
}
}).catch((e) => {
tools.mylogserr('Error patch USER: ', e);
tools.mylogserr('Error patch USER: ', e.message);
res.status(400).send();
})
});
router.patch('/callfunz', authenticate, async (req, res) => {
// const idapp = req.body.idapp;
const id = req.body.data.id;
const ind_order = req.body.data.ind_order;
const idapp = req.body.idapp;
const mydata = req.body.data;
try {
// If I change my record...
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTutor(req.user.perm)) && !(req.user._id.toString() === id) && !tools.ModificheConsentite(mydata.table, fieldsvalue)) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
const myuser = await User.findOne({ idapp, ind_order });
let rimosso = 0;
if (mydata.myfunc === 345) { // SOSTITUISCI
mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
// Sostituisci l'Utente
myusernuovo = await User.getUserShortDataByUsername(idapp, mydata.data.username);
let navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, mydata.data.riga, mydata.data.col, 0);
if (!!myusernuovo) {
// Controlla prima se è in una Nave Temporanea, allora lo elimina
miaarrnavi = await Nave.find({ idapp, ind_order: myusernuovo.ind_order });
if (miaarrnavi) {
for (const mianave of miaarrnavi) {
let persistente = await NavePersistente.findByRigaColByDonatore(idapp, mianave.riga, mianave.col, 0);
if (persistente.provvisoria) {
fieldsvalue = {
ind_order: -1
};
let ris = await Nave.findByIdAndUpdate(mianave.id, { $set: fieldsvalue });
if (!!ris) {
rimosso++;
}
}
}
}
if (!!myuser) {
// Metti campo 'delete': true su ListaIngresso
olduseringresso = await ListaIngresso.findOne({ idapp, ind_order: myuser.ind_order });
if (!!olduseringresso) {
let fieldsvalue = {
deleted: true
};
const risul = await ListaIngresso.findByIdAndUpdate(olduseringresso.id, { $set: fieldsvalue }, { new: false });
}
}
if (!!myuser) {
// Metti Deleted allo User
fieldsvalue = {
deleted: true
};
await User.findByIdAndUpdate(myuser.id, { $set: fieldsvalue });
}
// Aggiorna la Nave con il Nuovo
fieldsvalue = {
ind_order: myusernuovo.ind_order
};
const dachi = req.user.name + ' ' + req.user.surname;
return await Nave.findByIdAndUpdate(mianavedasost.id, { $set: fieldsvalue })
.then(async (rec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) {
return res.status(404).send();
} else {
if (mydata.notifBot) {
// Send Notification to the BOT
let messaggio = 'Sei stato Spostato in una Nuova Nave !';
if (!!navepersistente.date_start) {
messaggio += tools.ACAPO + ' data di Partenza della Nave: ' + tools.getstrDateLong(navepersistente.date_start) + tools.ACAPO;
}
if (!!navepersistente.link_chat) {
messaggio += tools.ACAPO + 'Entra nella Gift Chat: ' + navepersistente.link_chat + tools.ACAPO;
}
const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
messaggio += tools.ACAPO + myplacca;
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username, messaggio);
await telegrambot.sendMsgTelegramToTheManagers(idapp, mydata.notifBot.txt + ' ' + myusernuovo.name + ' ' + myusernuovo.surname + ' [da ' + dachi + ']' + tools.ACAPO + 'Inviato messaggio: ' + messaggio);
await telegrambot.sendMsgTelegram(idapp, req.user.username, mydata.notifBot.txt);
await telegrambot.sendMsgTelegram(idapp, req.user.username, myplacca);
}
// const nomecognomeprima = myuser.name + ' ' + myuser.surname + '(' + myuser.username + ')';
// const nomecognomenuovo = await User.getNameSurnameByUsername(idapp,);
res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
}
}).catch((e) => {
tools.mylogserr('Error patch USER: ', e);
res.status(400).send();
})
}
}
} catch (e) {
console.log(e);
res.status(400).send();
}
});
router.get('/copyfromapptoapp/:idapporig/:idappdest', async (req, res) => {
// const idapporig = req.params.idapporig;
// const idappdest = req.params.idappdest;
@@ -467,7 +593,7 @@ router.get('/copyfromapptoapp/:idapporig/:idappdest', async (req, res) => {
// }
});
router.delete('/delrec/:table/:id', authenticate, (req, res) => {
router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
const id = req.params.id;
const idapp = req.user.idapp;
const tablename = req.params.table;
@@ -485,24 +611,54 @@ router.delete('/delrec/:table/:id', authenticate, (req, res) => {
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
let cancellato = false;
notifBot = tools.NotifyIfDelRecord(tablename);
let myrec = null;
return mytable.findByIdAndRemove(id).then((rec) => {
if (!rec) {
return res.status(404).send();
if (!User.isAdmin(req.user.perm) || !User.isManager(req.user.perm)) {
if (tablename === 'users') {
let fieldsvalue = {
deleted: true
};
const rec = await mytable.findByIdAndUpdate(id, { $set: fieldsvalue });
myrec = rec;
cancellato = true;
}
}
tools.mylog('DELETED ', rec._id);
let ris = null;
if (!cancellato) {
ris = await mytable.findByIdAndRemove(id).then((rec) => {
if (!rec) {
return res.status(404).send();
}
myrec = rec;
cancellato = true;
tools.mylog('DELETED ', rec._id);
}).catch((e) => {
console.log(e);
res.status(400).send();
});
}
if (cancellato) {
// Do extra things after deleted
return actions.doOtherThingsAfterDeleted(tablename, rec).then(async (ris) => {
return actions.doOtherThingsAfterDeleted(tablename, myrec).then(async (ris) => {
if (ris) {
if (notifBot) {
// Send Notification to the BOT
let nomerecord = '';
if ((tablename === 'users') || (tablename === 'extralist')) {
nomerecord = rec.name + ' ' + rec.surname + ' (' + rec.username + ')';
nomerecord = myrec.name + ' ' + myrec.surname + ' (' + myrec.username + ')';
}
addtext = 'Eliminato il Record "' + nomerecord + '" dalla tabella ' + tablename + '\n' +
@@ -514,12 +670,11 @@ router.delete('/delrec/:table/:id', authenticate, (req, res) => {
return res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
}
});
}
res.send({ code: server_constants.RIS_CODE_ERR, msg: '' });
return ris;
}).catch((e) => {
console.log(e);
res.status(400).send();
});
});
@@ -651,8 +806,9 @@ router.get('/loadsite/:userId/:idapp/:sall', authenticate_noerror, (req, res) =>
});
router.get(process.env.LINK_CHECK_UPDATES, authenticate, (req, res) => {
router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => {
const userId = req.user._id;
const idapp = req.query.idapp;
// console.log("POST " + process.env.LINK_CHECK_UPDATES + " userId=" + userId);
@@ -660,7 +816,7 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, (req, res) => {
return res.status(404).send();
}
cfgserver.find().then((arrcfgrec) => {
await cfgserver.find({ idapp }).then((arrcfgrec) => {
if (!arrcfgrec)
return res.status(404).send();