diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index 869e575..f65d7e3 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -178,10 +178,12 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function(recnotif) { if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_NEW_REC) { newdescr = i18n.__('%s asked you for Friendship', userorig, mydescr); tag = 'newfriend'; - } else if ((recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED) || - (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST)) { + } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED) { newdescr = i18n.__('%s accepted your Friendship', userorig, 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); + tag = 'acceptedfriend'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REFUSED) { newdescr = i18n.__('%s refused your Friendship', userorig, mydescr); tag = 'refusedfriend'; @@ -470,12 +472,19 @@ sendNotifSchema.statics.updateStatusAndDescr = async function(myrecnotif, onlysa let typeidsearch = 0; let dest = ''; + let sender = myrecnotif.sender; + let newdest = myrecnotif.dest; + // Controllare se devo modificare un Notif già esistente ! if (myrecnotif.typedir === shared_consts.TypeNotifs.TYPEDIR_FRIENDS) { typeidsearch = shared_consts.TypeNotifs.ID_FRIENDS_NEW_REC; if (myrecnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED) { newstatus = shared_consts.StatusNotifs.STATUS_FRIENDS_ACCEPTED; dest = myrecnotif.sender; + } else if (myrecnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST) { + newstatus = shared_consts.StatusNotifs.STATUS_FRIENDS_ACCEPTED; + newdest = myrecnotif.sender; + sender = myrecnotif.dest; } else if (myrecnotif.typeid === shared_consts.TypeNotifs.ID_FRIENDS_REFUSED) { newstatus = shared_consts.StatusNotifs.STATUS_FRIENDS_REFUSED; dest = myrecnotif.sender; @@ -539,6 +548,8 @@ sendNotifSchema.statics.updateStatusAndDescr = async function(myrecnotif, onlysa read: false, descr: myrecnotif.descr, datenotif: new Date(), + sender, + dest: newdest, }; let query = { diff --git a/src/server/models/user.js b/src/server/models/user.js index ddb8cc1..6b59c64 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -1814,7 +1814,7 @@ UserSchema.statics.removeReqFriend = async function ( { $pull: { 'profile.req_friends': { username: { $in: [usernameDest] } } } }); }; -UserSchema.statics.setFriendsCmd = async function (req, idapp, usernameOrig, usernameDest, cmd, value) { +UserSchema.statics.setFriendsCmd = async function (req, idapp, usernameOrig, usernameDest, cmd, value, disablenotif) { const { SendNotif } = require('../models/sendnotif'); @@ -1861,28 +1861,33 @@ UserSchema.statics.setFriendsCmd = async function (req, idapp, usernameOrig, use }; ris = await User.updateOne({ idapp, username: usernameOrig }, update); - // Send a notification to the DESTINATION FRIENDSHIP ! - let req = tools.getReqByPar(idapp, usernameOrig); - await SendNotif.createNewNotifToSingleUser(req, null, { usernameDest }, true, shared_consts.TypeNotifs.TYPEDIR_FRIENDS, - shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED); + if (!disablenotif) { + // Send a notification to the DESTINATION FRIENDSHIP ! + let req = tools.getReqByPar(idapp, usernameOrig); + await SendNotif.createNewNotifToSingleUser(req, null, { usernameDest }, true, shared_consts.TypeNotifs.TYPEDIR_FRIENDS, + shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED); - // Send a notification to the SENDER FRIENDSHIP ! - req = tools.getReqByPar(idapp, usernameOrig); - await SendNotif.createNewNotifToSingleUser(req, null, { usernameOrig }, true, shared_consts.TypeNotifs.TYPEDIR_FRIENDS, - shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST); + // Send a notification to the SENDER FRIENDSHIP ! + req = tools.getReqByPar(idapp, usernameDest); + await SendNotif.createNewNotifToSingleUser(req, null, { usernameDest: usernameOrig }, true, shared_consts.TypeNotifs.TYPEDIR_FRIENDS, + shared_consts.TypeNotifs.ID_FRIENDS_ACCEPTED_MY_REQUEST); + + } update = { $pull: { 'profile.req_friends': { username: { $in: [usernameDest] } } } }; ris = await User.updateOne({ idapp, username: usernameOrig }, update); if (ris) { try { - const userDest = await User.getRecLangAndIdByUsername(idapp, usernameDest); - const user = await User.getRecLangAndIdByUsername(idapp, usernameOrig); - const msgOrig = i18n.__({ phrase: '✅ %s accepted your Friendship request !', locale: user.lang }, usernameDest); - const msgDest = i18n.__({ phrase: '✅ You have accepted %s\' Friendship request!', locale: userDest.lang }, usernameOrig); + if (!disablenotif) { + const userDest = await User.getRecLangAndIdByUsername(idapp, usernameDest); + const user = await User.getRecLangAndIdByUsername(idapp, usernameOrig); + const msgDest = i18n.__({ phrase: '✅ %s accepted your Friendship request !', locale: user.lang }, usernameOrig); + const msgOrig = i18n.__({ phrase: '✅ You have accepted %s\' Friendship request!', locale: userDest.lang }, usernameDest); - await telegrambot.sendMsgTelegram(idapp, usernameDest, msgDest); - await telegrambot.sendMsgTelegram(idapp, usernameOrig, msgOrig); + await telegrambot.sendMsgTelegram(idapp, usernameDest, msgDest); + await telegrambot.sendMsgTelegram(idapp, usernameOrig, msgOrig); + } } catch (e) { console.error('Notification : ', e); } diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index 71f4cf6..050db43 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -93,6 +93,11 @@ router.post('/', async (req, res) => { const user = new User(body); user.ipaddr = tools.getiPAddressUser(req); + user.email = user.email.trim(); + user.username = user.username.trim(); + user.name = user.name.trim(); + user.surname = user.surname.trim(); + if ((user.aportador_solidario === 'tuo_username') || (user.aportador_solidario === '{username}')) { user.aportador_solidario = 'paoloar77'; } @@ -243,6 +248,8 @@ router.post('/', async (req, res) => { let recextra = null; + user.aportador_solidario = user.aportador_solidario.trim(); + const id_aportador = await User.getIdByUsername(user.idapp, user.aportador_solidario); if (id_aportador) { user.aportador_solidario = await User.getRealUsernameByUsername(user.idapp, user.aportador_solidario); diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index e419faa..f68f77d 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -3966,7 +3966,7 @@ if (true) { if (changed) { const req = tools.getReqByPar(user.idapp, username_action); - await User.setFriendsCmd(req, user.idapp, data.username, userDest.username, shared_consts.FRIENDSCMD.SETFRIEND); + await User.setFriendsCmd(req, user.idapp, data.username, userDest.username, shared_consts.FRIENDSCMD.SETFRIEND, null, true); await User.setaportador_solidario(user.idapp, data.username, userDest.username);