From 874114942afbf6ef75e4837dfe217ac39a65caab Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 16 Feb 2023 20:13:38 +0100 Subject: [PATCH] Lista Richieste e Rifiutati dei Conti Collettivi --- filelog.txt | 2 + src/server/locales/it.json | 3 +- src/server/models/sendnotif.js | 4 +- src/server/server.js | 32 +++++---- src/server/tools/general.js | 110 ++++++++++++++++++++++++++++++ src/server/tools/shared_nodejs.js | 2 + 6 files changed, 138 insertions(+), 15 deletions(-) diff --git a/filelog.txt b/filelog.txt index 19f850a..6a8946a 100644 --- a/filelog.txt +++ b/filelog.txt @@ -23,3 +23,5 @@ se hai bisogno di aiuto chiedi in questa chat: 👉🏻 chat riso help Gio 05/01 ORE 19:28: USER [paoloar77]: vai al sito Gio 05/01 ORE 19:28: USER [paoloar77]: link da condividere + +Gio 16/02 ORE 18:14: USER [paoloar77]: vai al sito diff --git a/src/server/locales/it.json b/src/server/locales/it.json index b5e26d1..5c772da 100644 --- a/src/server/locales/it.json +++ b/src/server/locales/it.json @@ -47,12 +47,13 @@ "RICHIESTA_BLOCCO_CIRCUIT": "Richiesta di bloccare il Circuito %s da parte di %s", "CIRCUIT_ELIMINATO": "Il circuito %s è stato eliminato da parte di %s", "ACCETTATO_NOTIFICA_ADMINS_CIRCUIT": "✅ l'utente %s è stato accettato a far parte del Circuito %s (da parte di %s)", - "ACCETTATO_NOTIFICA_ADMINS_CIRCUIT_MYGROUP": "✅ il gruppo %s è stato accettato a far parte del Circuito %s (da parte di %s)", + "ACCETTATO_NOTIFICA_ADMINS_CIRCUIT_MYGROUP": "✅ il Conto Collettivo %s è stato accettato a far parte del Circuito %s (da parte di %s)", "CIRCUIT_ACCEPTED": "✅ Sei stato accettato da %s a far parte del Circuito %s.\nApri la APP e clicca in alto a destra sull'icona delle monete, oppure clicca qui: %s", "CIRCUIT_ACCEPTED_YOU": "✅ Hai accettato %s a far parte del Circuito %s", "CIRCUIT_REFUSED": "❌ Ti è stato rifiutato l'accesso da %s a far parte del Circuito %s. Se pensi sia un'errore, contatta l'amministratore del Circuito.", "CIRCUIT_REMOVED": "❌ l'utente %s è stato rimosso del Circuito %s (da parte di %s)", "CIRCUIT_REFUSED_TO_ME": "All'utente %s gli è stato rifiutato l'accesso a far parte del Circuito %s (da parte di %s).", + "CIRCUIT_REFUSED_TO_MYGROUP": "Al Conto Collettivo %s gli è stato rifiutato l'accesso a far parte del Circuito %s (da parte di %s).", "CIRCUIT_EXIT_USER": "❌ l'utente %s è uscito dal Circuito %s", "CIRCUIT_EXIT_USER_TO_ME": "❌ Sei uscito dal Circuito %s", "CIRCUIT_REMOVED_TO_ME": "❌ Sei stato rimosso dal Circuito %s (da parte di %s)", diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index 779834f..94f11ec 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -343,7 +343,9 @@ sendNotifSchema.statics.getDescrAndLinkByRecNotif = async function (recnotif, us tag = 'remcircuit'; } else if (recnotif.typeid === shared_consts.TypeNotifs.ID_CIRCUIT_REFUSED) { if (recnotif.paramsObj.isAdmin) { - newdescr = i18n.__('CIRCUIT_REFUSED_TO_ME', sender, recnotif.paramsObj.circuitnameDest, username_action); + if (recnotif.extrarec.groupname) { + newdescr = i18n.__('CIRCUIT_REFUSED_TO_MYGROUP', recnotif.extrarec.groupname, recnotif.paramsObj.circuitnameDest, username_action); + } } else { newdescr = i18n.__('CIRCUIT_REFUSED', username_action, recnotif.paramsObj.circuitnameDest); } diff --git a/src/server/server.js b/src/server/server.js index 9037f9c..09b65a3 100755 --- a/src/server/server.js +++ b/src/server/server.js @@ -9,6 +9,8 @@ const cors = require('cors'); // console.log(" 2) fs"); const fs = require('fs'); +const NUOVO_METODO_TEST = false; + const server_constants = require('./tools/server_constants'); //const throttle = require('express-throttle-bandwidth'); @@ -49,19 +51,23 @@ if ((process.env.NODE_ENV === 'production') || var privateKey = fs.readFileSync(process.env.PATH_CERT_KEY, 'utf8'); var certificate = fs.readFileSync(process.env.PATH_SERVER_CRT, 'utf8'); - /*var credentials = { - key: privateKey, - cert: certificate, - ca: [ - fs.readFileSync(process.env.PATH_SSL_ROOT_PEM, 'utf8'), - fs.readFileSync(process.env.PATH_SSL_CHAIN_PEM, 'utf8'), - ], - }; - */ - var credentials = { - key: privateKey, - cert: certificate, - }; + let credentials = {}; + + if (NUOVO_METODO_TEST) { + credentials = { + key: privateKey, + cert: certificate, + }; + } else { + credentials = { + key: privateKey, + cert: certificate, + ca: [ + fs.readFileSync(process.env.PATH_SSL_ROOT_PEM, 'utf8'), + fs.readFileSync(process.env.PATH_SSL_CHAIN_PEM, 'utf8'), + ], + }; + } } var https = require('https'); } else { diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 4d87a5e..d8c4545 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -1756,6 +1756,37 @@ module.exports = { return myquery; }, + getGroupnameLookupPipeLine(params, proj) { + + let myquery = [ + { + $lookup: { + from: params.lk_tab, + let: { groupname: '$' + params.lk_LF, idapp: params.idapp }, + pipeline: [ + { + $match: + { + $expr: + { + $and: + [ + { $eq: ['$' + params.lk_FF, '$$' + params.lk_FF] }, + { $eq: ['$idapp', '$$idapp'] }, + ], + }, + }, + }, + ], + as: params.lk_as, + }, + }, + { $project: proj }, + ]; + + return myquery; + }, + getLookup: function (params, num, pass_proj) { const query = []; @@ -2110,6 +2141,8 @@ module.exports = { }, 0, { 'user.idapp': 1, 'user.username': 1, + 'user.name': 1, + 'user.surname': 1, 'user.profile.img': 1, 'user.profile.qualifica': 1, }); @@ -2180,6 +2213,83 @@ module.exports = { }, }, ); + } else if (params.querytype === shared_consts.QUERYTYPE_GROUP_CIRCUIT) { + + const myq = this.addQueryIdMatch(params); + if (myq) + query.push(myq); + + query.push({ $project: { req_groups: 1 } }); + const qa1 = this.getLookup( + { + lk_tab: 'mygroups', + lk_LF: 'req_groups.groupname', + lk_FF: 'groupname', + lk_as: 'group', + }, 0, { + 'group.idapp': 1, + 'group.groupname': 1, + 'group.photos': 1, + }); + if (qa1) query = [...query, ...qa1]; + query.push({ $unwind: '$group' }); + + query.push({ + $match: { + $and: [ + { 'group.idapp': params.idapp }, + ], + }, + }); + + + query.push({ + $replaceRoot: { + newRoot: '$group', + }, + }, + ); + + } else if (params.querytype === shared_consts.QUERYTYPE_REFUSED_GROUP_CIRCUIT) { + + + const myq = this.addQueryIdMatch(params); + if (myq) + query.push(myq); + + query.push({ $project: { refused_groups: 1 } }); + query.push({ $unwind: '$refused_groups' }); + const qa1 = this.getGroupnameLookupPipeLine( + { + lk_tab: 'mygroups', + lk_LF: 'refused_groups.groupname', + lk_FF: 'groupname', + lk_as: 'group', + idapp, + }, { + 'group.idapp': 1, + 'group.groupname': 1, + 'group.descr': 1, + 'group.photos': 1, + }); + if (qa1) query = [...query, ...qa1]; + query.push({ $unwind: '$group' }); + /* + query.push({ + $match: { + $and: [ + {'user.idapp': params.idapp}, + ], + }, + }); + */ + + query.push({ + $replaceRoot: { + newRoot: '$group', + }, + }, + ); } else if (params.querytype === shared_consts.QUERYTYPE_LIST_MOVEMENTS) { diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index 96cfbc6..d2c786e 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -11,6 +11,8 @@ module.exports = { QUERYTYPE_REFUSED_USER_CIRCUIT: 12, QUERYTYPE_LIST_MOVEMENTS: 15, QUERYTYPE_LIST_ALLMOVEMENTS: 16, + QUERYTYPE_GROUP_CIRCUIT: 20, + QUERYTYPE_REFUSED_GROUP_CIRCUIT: 22, // --------------------- FILTER_EXTRALIST_NOT_REGISTERED: 1,