This commit is contained in:
Paolo Arena
2021-02-18 12:19:35 +01:00
parent 88ae9af12c
commit 14a3292da2
22 changed files with 233 additions and 122 deletions

View File

@@ -70,7 +70,7 @@ const actions = require('./api/actions');
const shared_consts = require('../tools/shared_nodejs');
UserCost = {
const UserCost = {
FIELDS_REQUISITI: ['verified_email',
'profile.teleg_id',
'profile.saw_and_accepted',
@@ -191,7 +191,7 @@ router.post(process.env.LINK_UPDATE_PWD, (req, res) => {
function getTableByTableName(tablename) {
mytable = '';
let mytable = '';
if (tablename === 'users')
mytable = User;
else if (tablename === 'tessitura')
@@ -299,16 +299,17 @@ router.post('/settable', authenticate, (req, res) => {
return res.send(rec);
}).catch((e) => {
console.log(e.message);
if (e.code === 11000) {
const id = mytablerec._id;
delete mytablerec._doc['_id'];
return mytablestrutt.findByIdAndUpdate(id, { $set: mytablerec._doc }).then(async (rec) => {
return res.send(rec);
}).catch((e) => {
tools.mylog('error: ', e.message);
return res.status(400).send(e);
}).catch((err) => {
tools.mylog('error: ', err.message);
return res.status(400).send(err);
})
} else {
console.log(e.message);
}
});
@@ -374,7 +375,7 @@ router.patch('/chval', authenticate, async (req, res) => {
// tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
// If I change my record...
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTraduttrici(req.user.perm) && !User.isTutor(req.user.perm)) && !(req.user._id.toString() === id) && !tools.ModificheConsentite(mydata.table, fieldsvalue)) {
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTraduttrici(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: '' });
}
@@ -457,7 +458,7 @@ router.patch('/chval', authenticate, async (req, res) => {
const risunset = await mytable.findByIdAndUpdate(id, { $unset: unset });
if (!!risunset) {
if ('date_made_gift' in unset) {
addtext = strflotta + ` E' stato annullato l'invio del dono di ${myuser.name} ${myuser.surname} (${myuser.username}) da parte di ${req.user.name} ${req.user.surname} - [Posiz: ${fieldsvalue.riga}.${fieldsvalue.col}]`;
let addtext = strflotta + ` E' stato annullato l'invio del dono di ${myuser.name} ${myuser.surname} (${myuser.username}) da parte di ${req.user.name} ${req.user.surname} - [Posiz: ${fieldsvalue.riga}.${fieldsvalue.col}]`;
telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, false);
tools.writeFlottaLog(idapp, addtext, flotta.riga, flotta.col_prima);
@@ -484,7 +485,7 @@ router.patch('/chval', authenticate, async (req, res) => {
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un, mydata.notifBot.txt);
if (!!addmsg)
await telegrambot.sendMsgTelegram(idapp, mydata.notifBot.un, addmsg);
addtext = '[Msg Inviato a ' + mydata.notifBot.un + ']:' + '\n' + mydata.notifBot.txt;
let addtext = '[Msg Inviato a ' + mydata.notifBot.un + ']:' + '\n' + mydata.notifBot.txt;
telegrambot.sendMsgTelegramToTheManagers(idapp, addtext, true);
if (!!flotta)
@@ -513,7 +514,7 @@ router.patch('/chval', authenticate, async (req, res) => {
}*/
if ('aportador_solidario' in fieldsvalue) {
ind_order_ingr = mydata.ind_order_ingr;
let ind_order_ingr = mydata.ind_order_ingr;
// SERVE SE CI METTO LE MINUSCOLE/MAIUSCOLE SBAGLIATE in invitante_username!
const myuserfound = await User.findByUsername(idapp, fieldsvalue.aportador_solidario, false);
if (!!myuserfound) {
@@ -530,7 +531,7 @@ router.patch('/chval', authenticate, async (req, res) => {
invitante_username: aportador
};
//Aggiorna record !
const ris = await ListaIngresso.findByIdAndUpdate(myfirstrec._id.toString(), { $set: fieldsv2 });
await ListaIngresso.findByIdAndUpdate(myfirstrec._id.toString(), { $set: fieldsv2 });
}
}
}
@@ -630,15 +631,15 @@ router.patch('/chval', authenticate, async (req, res) => {
router.patch('/askfunz', authenticate, async (req, res) => {
// const idapp = req.body.idapp;
const id = req.body.data.id;
const ind_order = req.body.data.ind_order;
const username = req.body.data.username;
// const ind_order = req.body.data.ind_order;
// const username = req.body.data.username;
const idapp = req.body.idapp;
const mydata = req.body.data;
let entra = false;
if (!entra) {
// 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)) {
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTutor(req.user.perm)) && (req.user._id.toString() !== id)) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
@@ -677,12 +678,12 @@ router.patch('/askfunz', authenticate, async (req, res) => {
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 ind_order = req.body.data.ind_order;
const username = req.body.data.username;
const idapp = req.body.idapp;
const mydata = req.body.data;
const telegrambot = require('../telegram/telegrambot');
// const telegrambot = require('../telegram/telegrambot');
try {
let entra = false;
@@ -692,7 +693,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
}
if (!entra) {
// 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)) {
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && !User.isTutor(req.user.perm)) && (req.user._id.toString() !== id)) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
@@ -700,29 +701,28 @@ router.patch('/callfunz', authenticate, async (req, res) => {
let myuser = await User.findOne({ idapp, username });
let rimosso = 0;
let fieldsvalue = {}
if (mydata.myfunc === shared_consts.CallFunz.SOSTITUISCI) { // SOSTITUISCI
username_da_sostituire = mydata.data.username_da_sostituire;
let username_da_sostituire = mydata.data.username_da_sostituire;
let myuservecchio = await User.findOne({ idapp, username: username_da_sostituire });
mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
let mianavedasost = await Nave.findOne({ idapp, riga: mydata.data.riga, col: mydata.data.col });
if (!!mianavedasost) {
// Sostituisci l'Utente
myusernuovo = await User.getUserShortDataByUsername(idapp, mydata.data.username);
let myusernuovo = await User.getUserShortDataByUsername(idapp, mydata.data.username);
let navepersistente = await NavePersistente.findByRigaColByDonatore(idapp, mydata.data.riga, mydata.data.col, 0);
if (!!myusernuovo) {
if (myusernuovo) {
if (!mydata.data.AddImbarco && !!mianavedasost && mianavedasost.ind_order > 0) {
if (!mydata.data.AddImbarco && mianavedasost.ind_order > 0) {
// Controlla prima se è in una Nave Temporanea, allora lo elimina dall'ultima Nave Temporanea
miaarrnavi = await Nave.getArrPosizioniByUsername(idapp, username);
let miaarrnavi = await Nave.getArrPosizioniByUsername(idapp, username);
if (miaarrnavi) {
miaarrnavi = miaarrnavi.reverse(); // parto dall'ultima
for (const mianave of miaarrnavi) {
@@ -734,7 +734,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
let ris = await Nave.findByIdAndUpdate(mianave._id, { $set: fieldsvalue });
if (!!ris) {
rimosso++;
// rimosso++;
break; // Rimuovilo solo 1 !
}
}
@@ -742,18 +742,16 @@ router.patch('/callfunz', authenticate, async (req, res) => {
}
}
if (!!myusernuovo) {
if (!!mianavedasost && mianavedasost.ind_order >= 0) {
if (mianavedasost.ind_order >= 0) {
// ELIMINO LA LISTAINGRESSO CHE STO SOSTITUENDO (SOLO SE NON VIENE USATA DA ALTRA NAVE!)
let eliminatoingr = await ListaIngresso.eliminaListaIngresso(idapp, mianavedasost.ind_order, req, mianavedasost.num_tess);
// ELIMINO LA LISTAINGRESSO CHE STO SOSTITUENDO (SOLO SE NON VIENE USATA DA ALTRA NAVE!)
let eliminatoingr = await ListaIngresso.eliminaListaIngresso(idapp, mianavedasost.ind_order, req, mianavedasost.num_tess);
if (!eliminatoingr) {
return res.send({
code: server_constants.RIS_CODE_ERR,
msg: 'La Sostituzione non può avvenire ! Contattare Paolo. (ind_order=' + mianavedasost.ind_order + ')'
});
}
if (!eliminatoingr) {
return res.send({
code: server_constants.RIS_CODE_ERR,
msg: 'La Sostituzione non può avvenire ! Contattare Paolo. (ind_order=' + mianavedasost.ind_order + ')'
});
}
}
@@ -771,7 +769,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
if (!!rismsg) {
let messaggio = rismsg.body;
mytitle = rismsg.title;
// let mytitle = rismsg.title;
if (!!messaggio) {
await telegrambot.sendMsgTelegram(idapp, myusernuovo.username, messaggio);
}
@@ -781,7 +779,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
// Se ha gia delle altre navi, non cancellarlo!
if (!await Nave.checkIfMadeGift(idapp, myuservecchio.username)) {
if (mydata.data.deleteUser && !!mianavedasost && mianavedasost.ind_order > 0) {
if (mydata.data.deleteUser && mianavedasost.ind_order > 0) {
// Metti Deleted allo User
fieldsvalue = {
deleted: true,
@@ -846,7 +844,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
const rismsg = await telegrambot.getMsgByTipoMsg(mydatamsg, myusernuovo.lang, myusernuovo, false);
let messaggio = rismsg.body;
mytitle = rismsg.title;
let mytitle = rismsg.title;
// const myplacca = await Nave.getNavePos(idapp, navepersistente.riga, navepersistente.col);
// messaggio += tools.ACAPO + myplacca;
@@ -896,7 +894,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
} else if (mydata.myfunc === shared_consts.CallFunz.AGGIUNGI_NUOVO_IMBARCO) {
// Ottieni il prossimo Numero di Tessitura
//let num_tess = await Nave.getNextNumTess(idapp, ind_order);
const num_tess = 1;
// const num_tess = 1;
/*
let listaingr = await ListaIngresso.find({ idapp, ind_order }).sort({ num_tess: 1 });
@@ -909,9 +907,9 @@ router.patch('/callfunz', authenticate, async (req, res) => {
// metti l'invitante inizialmente a Te stesso !
const invitante_username = req.body.data.invitante_username;
ris = await ListaIngresso.addUserInListaIngresso(idapp, username, invitante_username, myuser.lang, true, true);
await ListaIngresso.addUserInListaIngresso(idapp, username, invitante_username, myuser.lang, true, true);
arrimbarchi = await ListaIngresso.findAllByUsername(idapp, username);
let arrimbarchi = await ListaIngresso.findAllByUsername(idapp, username);
return res.send({ code: server_constants.RIS_CODE_OK, arrimbarchi });
} else if (mydata.myfunc === shared_consts.CallFunz.CANCELLA_IMBARCO) {
@@ -919,7 +917,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
const myrec = await ListaIngresso.getIngrEUserByFilter(idapp, { idapp, _id: ObjectID(mydata.data.id) });
if (!!myrec) {
const myingr = await ListaIngresso.find({ _id: mydata.data.id });
await ListaIngresso.find({ _id: mydata.data.id });
const risdel = await ListaIngresso.eliminaListaIngresso(idapp, mydata.ind_order, req, mydata.data.num_tess);
@@ -931,7 +929,7 @@ router.patch('/callfunz', authenticate, async (req, res) => {
} else if (mydata.myfunc === shared_consts.CallFunz.ZOOM_GIA_PARTECIPATO) {
if (!!myuser.username) {
FormDaMostrare = telegrambot.getFormDaMostrare(idapp, mydata.myfunc, myuser);
let FormDaMostrare = telegrambot.getFormDaMostrare(idapp, mydata.myfunc, myuser);
await telegrambot.sendMsgTelegramToTheManagers(idapp, `L\'utente ${myuser.name} ${myuser.surname} (${myuser.username}) ha detto di aver già visto lo Zoom di Benvenuto`, false, FormDaMostrare);
@@ -980,9 +978,9 @@ router.get('/copyfromapptoapp/:idapporig/:idappdest', async (req, res) => {
router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
const id = req.params.id;
const idapp = req.user.idapp;
// const idapp = req.user.idapp;
const tablename = req.params.table;
let notifBot = false;
// let notifBot = false;
// const idapp = req.body.idapp;
console.log('id', id, 'table', tablename);
@@ -998,8 +996,7 @@ router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
let cancellato = false;
notifBot = tools.NotifyIfDelRecord(tablename);
let myrec = null;
// tools.NotifyIfDelRecord(tablename);
if (!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm)) {
if (tablename === 'users') {
@@ -1009,8 +1006,7 @@ router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
date_deleted: new Date(),
};
const rec = await mytable.findByIdAndUpdate(id, { $set: fieldsvalue });
myrec = rec;
await mytable.findByIdAndUpdate(id, { $set: fieldsvalue });
cancellato = true;
}
@@ -1024,7 +1020,6 @@ router.delete('/delrec/:table/:id', authenticate, async (req, res) => {
// res.status(404).send();
return false;
}
myrec = rec;
cancellato = true;
@@ -1106,12 +1101,15 @@ router.get('/loadsite/:userId/:idapp/:sall', authenticate_noerror, (req, res) =>
const userId = req.params.userId;
const idapp = req.params.idapp;
const sall = req.params.sall;
// var category = req.params.category;
// tools.mylog('loadsite : ', req.params);
let bookedevent = [];
let msgs = [];
// let msgs = [];
const socioresidente = req.user.profile.socioresidente;
if (userId !== '0') {
// LOGGED WITH USERID
@@ -1119,7 +1117,7 @@ router.get('/loadsite/:userId/:idapp/:sall', authenticate_noerror, (req, res) =>
}
// Extract all the todos of the userId only
const eventlist = MyEvent.findAllIdApp(idapp);
const eventlist = MyEvent.findAllIdApp(socioresidente, idapp);
const operators = Operator.findAllIdApp(idapp);
const wheres = Where.findAllIdApp(idapp);
const contribtype = Contribtype.findAllIdApp(idapp);
@@ -1216,7 +1214,7 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => {
// const sall = '0';
// msgs = SendMsg.findAllByUserIdAndIdApp(userId, req.user.username, req.user.idapp);
last_msgs = SendMsg.findLastGroupByUserIdAndIdApp(userId, req.user.username, req.user.idapp);
let last_msgs = SendMsg.findLastGroupByUserIdAndIdApp(userId, req.user.username, req.user.idapp);
let usersList = null;
@@ -1225,7 +1223,7 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => {
if (User.isAdmin(req.user.perm)) {
// Send UsersList
// usersList = User.getUsersList(req.user.idapp)
usersList = null;
// usersList = null;
}
}
@@ -1247,8 +1245,8 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => {
});
router.post('/upload_from_other_server/:dir', authenticate, (req, res) => {
const dir = req.params.dir;
const idapp = req.user.idapp;
// const dir = req.params.dir;
// const idapp = req.user.idapp;
/*
const form = new formidable.IncomingForm();
@@ -1335,7 +1333,7 @@ router.post('/upload/:dir', authenticate, (req, res) => {
// Create Dir if doesn't exist:
tools.mkdirpath(mydir);
newname = mydir + '/' + file.name;
let newname = mydir + '/' + file.name;
console.log('move from ', file.path, 'to :', newname);
@@ -1381,7 +1379,7 @@ router.delete('/delfile', authenticate, (req, res) => {
try {
console.log('Delete file ' + relativefile);
// ++ Move in the folder application !
fullpathfile = tools.getdirByIdApp(idapp) + '/' + relativefile;
let fullpathfile = tools.getdirByIdApp(idapp) + '/' + relativefile;
tools.delete(fullpathfile, (err) => {
if (err) console.log('err', err);