Aggiornamenti
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user