Conto Comunitario all'interno di un Circuito

This commit is contained in:
Surya Paolo
2023-01-21 19:02:19 +01:00
parent 8e7b9fb5bd
commit b9e4dbbaec
7 changed files with 403 additions and 114 deletions

View File

@@ -39,6 +39,9 @@ const sendNotifSchema = new Schema({
type: String,
default: '',
},
descr: {
type: String,
},
sendergroup: { // mittente
type: String,
default: '',
@@ -50,9 +53,6 @@ const sendNotifSchema = new Schema({
title: {
type: String,
},
descr: {
type: String,
},
openUrl: {
type: String,
},
@@ -142,6 +142,9 @@ sendNotifSchema.statics.getRecNotif = function (id) {
sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, lastdataread, idapp) {
const SendNotif = this;
if (!lastdataread)
lastdataread = 0;
return SendNotif.find({
$and: [
{ idapp },
@@ -159,13 +162,13 @@ sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, l
};
sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, userorig) {
const numchars = 80;
let newdescr = '';
let mydescr = '';
let myidrec = '';
let userorig = recnotif.sender;
let sender = recnotif.sender;
let tag = '';
try {
@@ -185,18 +188,18 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
tag = 'newservice';
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_FRIENDS) {
recnotif.openUrl = '/my/' + userorig;
recnotif.openUrl = '/my/' + sender;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_NEW_REC) {
newdescr = i18n.__('<strong>%s</strong> asked you for Friendship', userorig, mydescr);
newdescr = i18n.__('<strong>%s</strong> asked you for Friendship', sender, mydescr);
tag = 'newfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED) {
newdescr = i18n.__('<strong>%s</strong> accepted your Friendship', userorig, mydescr);
newdescr = i18n.__('<strong>%s</strong> accepted your Friendship', sender, mydescr);
tag = 'acceptedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST) {
newdescr = i18n.__('✅ You have accepted %s\' Friendship request!', userorig, mydescr);
newdescr = i18n.__('✅ You have accepted %s\' Friendship request!', sender, mydescr);
tag = 'acceptedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REFUSED) {
newdescr = i18n.__('<strong>%s</strong> refused your Friendship', userorig, mydescr);
newdescr = i18n.__('<strong>%s</strong> refused your Friendship', sender, mydescr);
tag = 'refusedfriend';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REPORTED) {
tag = 'reportuser';
@@ -204,7 +207,7 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
newdescr = i18n.__('FRIEND_REPORTED_YOU', recnotif.paramsObj.username_worked);
recnotif.openUrl = '/my/' + recnotif.paramsObj.username_worked;
} else if (recnotif.paramsObj.isAdmin) {
newdescr = i18n.__('FRIEND_REPORTED', recnotif.paramsObj.usernameDest, userorig);
newdescr = i18n.__('FRIEND_REPORTED', recnotif.paramsObj.usernameDest, sender);
recnotif.openUrl = '/my/' + recnotif.paramsObj.usernameDest;
} else {
recnotif.openUrl = '/my/' + recnotif.paramsObj.username_action;
@@ -212,66 +215,66 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
}
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_HANDSHAKE) {
recnotif.openUrl = '/my/' + userorig;
recnotif.openUrl = '/my/' + sender;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_HANDSHAKE_ACCEPTED) {
newdescr = i18n.__('HANDSHAKE_SET', userorig, mydescr);
newdescr = i18n.__('HANDSHAKE_SET', sender, mydescr);
tag = 'acceptedhandshake';
}
} else if (recnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_GROUPS) {
tag = 'group';
recnotif.openUrl = '/grp/' + recnotif.paramsObj.groupnameDest;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_NEW_REC) {
newdescr = i18n.__('GROUP_CREATED', userorig, recnotif.paramsObj.groupnameDest);
newdescr = i18n.__('GROUP_CREATED', sender, recnotif.paramsObj.groupnameDest);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_ACCEPTED) {
if (recnotif.paramsObj.isAdmin) {
newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + userorig;
newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + sender;
} else {
newdescr = i18n.__('GROUPS_ACCEPTED', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
}
tag = 'addgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REMOVED) {
if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && userorig === recnotif.paramsObj.usernameDest) {
if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_EXIT_USER_TO_ME', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else if (userorig === recnotif.paramsObj.usernameDest) {
} else if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_REMOVED_TO_ME', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else if (userorig === recnotif.paramsObj.username_action) {
newdescr = i18n.__('GROUPS_EXIT_USER', userorig, recnotif.paramsObj.groupnameDest);
recnotif.openUrl = '/my/' + userorig;
} else if (sender === recnotif.paramsObj.username_action) {
newdescr = i18n.__('GROUPS_EXIT_USER', sender, recnotif.paramsObj.groupnameDest);
recnotif.openUrl = '/my/' + sender;
} else {
newdescr = i18n.__('GROUPS_REMOVED', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
newdescr = i18n.__('GROUPS_REMOVED', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
}
tag = 'remgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REFUSED) {
newdescr = i18n.__('GROUPS_REFUSED', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
newdescr = i18n.__('GROUPS_REFUSED', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
tag = 'refgroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REQUEST_TO_ENTER) {
newdescr = i18n.__('GROUP_REQUEST_TO_ENTER', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
newdescr = i18n.__('GROUP_REQUEST_TO_ENTER', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
tag = 'reqgroups';
// sendnotifPush = false; // non lo rimandare 2 volte !
// telegrambot.askConfirmationUser(idapp, shared_consts.CallFunz.RICHIESTA_GRUPPO, myuser, singleadmin.username, groupname, group._id);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_BLOCK_USER) {
newdescr = i18n.__('RICHIESTA_BLOCCO_GRUPPO', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
newdescr = i18n.__('RICHIESTA_BLOCCO_GRUPPO', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.singleadmin_username);
tag = 'blockgroups';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_DELETE_USER) {
newdescr = i18n.__('GRUPPO_ELIMINATO', userorig, recnotif.paramsObj.username_action);
newdescr = i18n.__('GRUPPO_ELIMINATO', sender, recnotif.paramsObj.username_action);
tag = 'deletegroup';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_ADDED_ADMIN_OFMYGROUP) {
if (userorig === recnotif.paramsObj.usernameDest) {
if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP_YOU', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + userorig;
newdescr = i18n.__('GROUPS_ADDED_ADMIN_GROUP', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + sender;
}
tag = 'addadmingrp';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_GROUP_REMOVED_ADMIN_OFMYGROUP) {
if (userorig === recnotif.paramsObj.usernameDest) {
if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP_YOU', recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP', userorig, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + userorig;
newdescr = i18n.__('GROUPS_REMOVED_ADMIN_GROUP', sender, recnotif.paramsObj.groupnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + sender;
}
tag = 'removeadmingrp';
}
@@ -279,20 +282,20 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
tag = 'circuit';
recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path;
if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_NEW_REC) {
newdescr = i18n.__('CIRCUIT_CREATED', userorig, recnotif.paramsObj.circuitnameDest);
newdescr = i18n.__('CIRCUIT_CREATED', sender, recnotif.paramsObj.circuitnameDest);
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ACCEPTED) {
if (recnotif.paramsObj.isAdmin) {
if (recnotif.extrarec.groupname) {
newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT_MYGROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT', userorig, recnotif.paramsObj.circuitnameDest,
newdescr = i18n.__('ACCETTATO_NOTIFICA_ADMINS_CIRCUIT', sender, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.username_action);
}
recnotif.openUrl = '/my/' + userorig;
recnotif.openUrl = '/my/' + sender;
} else {
if (userorig === recnotif.paramsObj.usernameDest) {
if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_ACCEPTED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest, tools.getHostByIdApp(recnotif.idapp) + recnotif.openUrl);
} else {
newdescr = i18n.__('CIRCUIT_ACCEPTED_YOU', recnotif.paramsObj.usernameDest, recnotif.paramsObj.circuitnameDest);
@@ -300,21 +303,21 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
}
tag = 'addcircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED) {
if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && userorig === recnotif.paramsObj.usernameDest) {
if (recnotif.paramsObj.username_action === recnotif.paramsObj.usernameDest && sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_EXIT_USER_TO_ME', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else if (userorig === recnotif.paramsObj.usernameDest) {
} else if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_REMOVED_TO_ME', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else if (userorig === recnotif.paramsObj.username_action) {
newdescr = i18n.__('CIRCUIT_EXIT_USER', userorig, recnotif.paramsObj.circuitnameDest);
recnotif.openUrl = '/my/' + userorig;
} else if (sender === recnotif.paramsObj.username_action) {
newdescr = i18n.__('CIRCUIT_EXIT_USER', sender, recnotif.paramsObj.circuitnameDest);
recnotif.openUrl = '/my/' + sender;
} else {
newdescr = i18n.__('CIRCUIT_REMOVED', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
newdescr = i18n.__('CIRCUIT_REMOVED', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
}
tag = 'remcircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REFUSED) {
if (recnotif.paramsObj.isAdmin) {
newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('CIRCUIT_REFUSED', recnotif.paramsObj.username_action, recnotif.paramsObj.circuitnameDest);
}
@@ -324,36 +327,38 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER_WITH_GROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.singleadmin_username);
} else {
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', userorig, recnotif.paramsObj.circuitnameDest,
newdescr = i18n.__('CIRCUIT_REQUEST_TO_ENTER', sender, recnotif.paramsObj.circuitnameDest,
recnotif.paramsObj.singleadmin_username);
}
tag = 'reqcircuits';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_DELETE_USER) {
newdescr = i18n.__('CIRCUIT_ELIMINATO', userorig, recnotif.paramsObj.username_action);
newdescr = i18n.__('CIRCUIT_ELIMINATO', sender, recnotif.paramsObj.username_action);
tag = 'deletecircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_ADDED_ADMIN) {
if (userorig === recnotif.paramsObj.usernameDest) {
if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_ADDED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + userorig;
newdescr = i18n.__('CIRCUIT_ADDED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + sender;
}
tag = 'addadmingrp';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REMOVED_ADMIN) {
if (userorig === recnotif.paramsObj.usernameDest) {
if (sender === recnotif.paramsObj.usernameDest) {
newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN_YOU', recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
} else {
newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', userorig, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + userorig;
newdescr = i18n.__('CIRCUIT_REMOVED_ADMIN', sender, recnotif.paramsObj.circuitnameDest, recnotif.paramsObj.username_action);
recnotif.openUrl = '/my/' + sender;
}
tag = 'removeadmincircuit';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ) {
if (recnotif.paramsObj.extrarec.groupdest) {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_GROUP', tools.getAhref(recnotif.paramsObj.username_action, await tools.getLinkUserTelegram(recnotif.idapp, recnotif.paramsObj.username_action)), recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.groupdest);
} else if (recnotif.paramsObj.extrarec.grouporig && (sender === recnotif.paramsObj.usernameDest)) {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_YOU', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest);
} else if (recnotif.paramsObj.extrarec.grouporig) {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.usernameDest);
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', recnotif.paramsObj.extrarec.grouporig, recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol, recnotif.paramsObj.extrarec.dest);
} else {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ', tools.getAhref(recnotif.paramsObj.username_action, await tools.getLinkUserTelegram(recnotif.idapp, recnotif.paramsObj.username_action)), recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol);
@@ -363,20 +368,60 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path; //++Todo: dove lo mando ?
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT) {
let mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest;
let myorig = recnotif.paramsObj.extrarec.grouporig;
if (myorig) {
if (recnotif.paramsObj.extrarec.groupdest) {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_GROUP', myorig, recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, mydest);
} else {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_FROM_GROUP_TO_USER', myorig, recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, mydest);
}
} else {
if (recnotif.paramsObj.extrarec.groupdest) {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, mydest);
} else {
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, mydest);
}
}
newdescr = i18n.__('CIRCUIT_SENDCOINSREQ_TO_ME', recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, mydest);
tag = 'sendcoin';
recnotif.openUrl = '/circuit/' + recnotif.paramsObj.path; //++Todo: dove lo mando ?
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED) {
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
recnotif.paramsObj.username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest,
recnotif.paramsObj.extrarec.symbol
);
recnotif.paramsObj.username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol);
let mydest = recnotif.paramsObj.extrarec.groupdest ? recnotif.paramsObj.extrarec.groupdest : recnotif.paramsObj.extrarec.dest;
let myorig = recnotif.paramsObj.extrarec.grouporig;
if (myorig) {
if (recnotif.paramsObj.extrarec.groupdest) {
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
recnotif.paramsObj.username_action, myorig, recnotif.paramsObj.extrarec.groupdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol);
} else {
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_GROUP_TO_YOU', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
recnotif.paramsObj.username_action, myorig) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol);
}
} else {
if (recnotif.paramsObj.extrarec.groupdest) {
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_GROUP', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
recnotif.paramsObj.username_action, recnotif.paramsObj.extrarec.groupdest) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol);
} else {
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_FROM_ME_TO_YOU', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
recnotif.paramsObj.username_action) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoDest, recnotif.paramsObj.extrarec.symbol);
}
}
tag = 'sendcoin';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_ACCEPTED_SENT) {
const destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
if (!destinatario) {
destinatario = recnotif.paramsObj.username_action
}
newdescr = i18n.__('ID_CIRCUIT_COINS_ACCEPTED_TO_ME', recnotif.paramsObj.extrarec.qty.toString(),
recnotif.paramsObj.extrarec.symbol, destinatario) + `\n` + i18n.__('SALDO_UPDATE', recnotif.paramsObj.extrarec.saldoOrig,
recnotif.paramsObj.extrarec.symbol);
@@ -386,10 +431,10 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif) {
recnotif.paramsObj.username_action);
tag = 'sendcoin';
} else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) {
const destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
let destinatario = recnotif.paramsObj.extrarec.dest ? recnotif.paramsObj.extrarec.dest : recnotif.paramsObj.extrarec.groupdest;
newdescr = i18n.__('ID_CIRCUIT_COINS_REFUSED_TO_ME', recnotif.paramsObj.extrarec.qty.toString(), recnotif.paramsObj.extrarec.symbol,
destinatario);
destinatario);
tag = 'sendcoin';
}
}
@@ -461,7 +506,7 @@ sendNotifSchema.statics.saveAndSendNotif = async function (myrecnotif, req, res,
check = tools.checkUserOk(myrecnotif.sendergroup, user ? myrecnotif.sendergroup : req.user.username, res);
if (check.exit) return check.ret;
const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, false);
const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, false, req.user.username);
if (!myrecout)
return null;
@@ -491,13 +536,13 @@ sendNotifSchema.statics.saveAndSendNotif = async function (myrecnotif, req, res,
};
sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlysave) {
sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlysave, userorig) {
const SendNotif = this;
try {
if (!myrecnotif.openUrl) {
// If not exist, then I set openUrl and description
myrecnotif = await this.getDescrAndLinkByRecNotif(myrecnotif);
myrecnotif = await this.getDescrAndLinkByRecNotif(myrecnotif, userorig);
}
let newstatus = 0;
@@ -568,17 +613,23 @@ sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlys
typeidsearch = shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('notifIdToUpdate'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.notifIdToUpdate;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('idStatusToSent'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.idStatusToSent;
newstatus = shared_consts.CircuitsNotif.STATUS_COINS_ACCEPTED_SENT;
} else if (myrecnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_COINS_REFUSED_SENT) {
typeidsearch = shared_consts.TypeNotifs.ID_CIRCUIT_SENDCOINSREQ_SENT;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('notifIdToUpdate'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.notifIdToUpdate;
if (myrecnotif.paramsObj.extrarec.hasOwnProperty('idStatusToSent'))
idnotiftosearch = myrecnotif.paramsObj.extrarec.idStatusToSent;
newstatus = shared_consts.CircuitsNotif.STATUS_COINS_REFUSED_SENT;
}
}
if (newstatus) {
const fields_to_update = {
let fields_to_update = {
status: newstatus,
read: false,
descr: myrecnotif.descr,
@@ -603,17 +654,26 @@ sendNotifSchema.statics.updateStatusAndDescr = async function (myrecnotif, onlys
_id: idnotiftosearch,
status: 0,
};
fields_to_update = {
status: newstatus,
read: false,
descr: myrecnotif.descr,
datenotif: new Date(),
};
// Cerca il record e se lo trova lo aggiorna
const myrec = await SendNotif.findOneAndUpdate(query, { $set: fields_to_update }, {
new: false,
returnNewDocument: true,
});
if (myrec) {
return { myrecout: myrec, save: true };
}
}
// Cerca il record e se lo trova lo aggiorna
const myrec = await SendNotif.findOneAndUpdate(query, { $set: fields_to_update }, {
new: true,
returnNewDocument: true,
});
if (myrec) {
return { myrecout: myrec, save: false };
}
}
// myrecnotif._id = new ObjectID();
@@ -661,11 +721,11 @@ sendNotifSchema.statics.checkIfCoinsAlreadySent = async function (notifId) {
};
sendNotifSchema.statics.saveNotif = async function (myrecnotif) {
sendNotifSchema.statics.saveNotif = async function (myrecnotif, req) {
const SendNotif = this;
const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, true);
const { myrecout, save } = await SendNotif.updateStatusAndDescr(myrecnotif, true, req.user.username);
if (!myrecout)
return null;
@@ -818,7 +878,7 @@ sendNotifSchema.statics.sendToTheDestinations = async function (myrecnotifpass,
myrecnotifpass.myrectableorig = myrectableorig;
}
myrecnotifpass = await this.getDescrAndLinkByRecNotif(myrecnotifpass);
myrecnotifpass = await this.getDescrAndLinkByRecNotif(myrecnotifpass, req.user.username);
delete myrecnotifpass._doc['_id'];
for (const user of userlist) {
@@ -886,7 +946,7 @@ sendNotifSchema.statics.sendToSingleUserDest = async function (myrecnotif, req,
: myrecnotif.dest;
if (onlysave) {
return await SendNotif.saveNotif(myrecnotif);
return await SendNotif.saveNotif(myrecnotif, req);
} else {
return await SendNotif.saveAndSendNotif(myrecnotif, req, res, null);
}