From 1d5002ea0ffcd65a100664bc088aae4717402716 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Fri, 10 May 2024 00:58:38 +0200 Subject: [PATCH] - fix notifiche --- src/server/models/sendnotif.js | 11 ++++++++--- src/server/models/user.js | 4 ++-- src/server/router/circuits_router.js | 4 ++-- src/server/router/sendnotif_router.js | 28 ++++++++++----------------- src/server/router/users_router.js | 4 ++-- src/server/tools/shared_nodejs.js | 3 ++- 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/server/models/sendnotif.js b/src/server/models/sendnotif.js index a955c8f..5cc0d85 100755 --- a/src/server/models/sendnotif.js +++ b/src/server/models/sendnotif.js @@ -161,7 +161,7 @@ sendNotifSchema.statics.getRecNotif = function (id) { }; -sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, lastdataread, idapp, limitrecord, typedir) { +sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, lastdataread, idapp, limitrecord, qualinotif) { const SendNotif = this; if (!lastdataread) @@ -173,8 +173,13 @@ sendNotifSchema.statics.findAllNotifByUsernameIdAndIdApp = function (username, l { datenotif: { $gt: new Date(lastdataread) } } ]; - if (typedir) { - arrfilter.push({typedir}); + if (qualinotif) { + if (qualinotif === shared_consts.QualiNotifs.CIRCUITS) { + arrfilter.push({ typedir: shared_consts.TypeNotifs.TYPEDIR_CIRCUITS }); + } else { + arrfilter.push({ typedir: { $ne: shared_consts.TypeNotifs.TYPEDIR_CIRCUITS } }); + } + } return SendNotif.find({ diff --git a/src/server/models/user.js b/src/server/models/user.js index 464585e..7ce7c2f 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -3281,8 +3281,8 @@ UserSchema.statics.setCircuitCmd = async function (idapp, usernameOrig, circuitn } outres.recnotif = await SendNotif.getRecNotif(extrarec.notifId); - outres.arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username_action, extrarec.lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_OTHERS); - outres.arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(username_action, extrarec.lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_CIRCUITS); + outres.arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username_action, extrarec.lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.QualiNotifs.OTHERS); + outres.arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(username_action, extrarec.lastdr, idapp, shared_consts.LIMIT_NOTIFCOINS_FOR_USER, shared_consts.QualiNotifs.CIRCUITS); } else { outres.cansend = false; diff --git a/src/server/router/circuits_router.js b/src/server/router/circuits_router.js index 6ead97c..a619097 100755 --- a/src/server/router/circuits_router.js +++ b/src/server/router/circuits_router.js @@ -84,8 +84,8 @@ router.post('/load', authenticate, async (req, res) => { data.account = await Account.getAccountByUsernameAndCircuitId(idapp, '', data._id, false, false, '', data.path); } - const arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(req.user.username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_OTHERS); - const arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(req.user.username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_CIRCUITS); + const arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(req.user.username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.QualiNotifs.OTHERS); + const arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(req.user.username, lastdr, idapp, shared_consts.LIMIT_NOTIFCOINS_FOR_USER, shared_consts.QualiNotifs.CIRCUITS); /// E' QUIIII !!!! const useraccounts = await Account.getUserAccounts(idapp, req.user.username); diff --git a/src/server/router/sendnotif_router.js b/src/server/router/sendnotif_router.js index 4b3d0b1..0a82544 100755 --- a/src/server/router/sendnotif_router.js +++ b/src/server/router/sendnotif_router.js @@ -34,7 +34,7 @@ router.get('/setall/:username/:qualinotif/:idapp', authenticate, async (req, res const idapp = req.params.idapp; const username = req.params.username; - const qualinotif = req.params.qualinotif; + const qualinotif = parseInt(req.params.qualinotif); const username_call = req.user.username; try { @@ -115,7 +115,7 @@ router.get('/delall/:username/:qualinotif/:idapp', authenticate, async (req, res const idapp = req.params.idapp; const username = req.params.username; - const qualinotif = req.params.qualinotif; + const qualinotif = parseInt(req.params.qualinotif); const username_call = req.user.username; try { @@ -143,18 +143,13 @@ router.get('/:username/:lastdataread/:idapp', authenticate, (req, res) => { return getNotif(req, res); }); -router.get('/:username/:lastdataread/:idapp/:qualinotif', authenticate, (req, res) => { - return getNotif(req, res); -}); - -function getNotif(req, res) { +async function getNotif(req, res) { try { // tools.mylog('GET NotifS : ', req.params); const username = req.params.username; const lastdataread = req.params.lastdataread; const idapp = req.params.idapp; - const qualinotif = req.params.qualinotif; // var category = req.params.category; @@ -163,21 +158,18 @@ function getNotif(req, res) { return res.status(404).send({ code: server_constants.RIS_CODE_NOT_MY_USERNAME }); } - return SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdataread, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, qualinotif).then(async (arrnotif) => { - // const wait = new Promise((resolve, reject) => { - // setTimeout(() => { + const arrnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdataread, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.QualiNotifs.OTHERS); + const arrnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdataread, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.QualiNotifs.CIRCUITS); - //++Todo: Ottimizzare ! Non occorre inviare tutti questi dati !!! Solo per il Circuito ?! - const userprofile = await User.getExtraInfoByUsername(idapp, req.user.username); + + //++Todo: Ottimizzare ! Non occorre inviare tutti questi dati !!! Solo per il Circuito ?! + const userprofile = await User.getExtraInfoByUsername(idapp, req.user.username); - return res.send({ arrnotif, userprofile }); + return res.send({ arrnotif, arrnotifcoins, userprofile }); - }).catch((e) => { - console.log(e.message); - res.status(400).send(e); - }); } catch (e) { console.log(e.message); + res.status(400).send(e); } }; diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index 519e507..6bc51af 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -902,8 +902,8 @@ router.post('/updatesaldo', authenticate, async (req, res) => { userprofile } - ris.arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_OTHERS); - ris.arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.TypeNotifs.TYPEDIR_CIRCUITS); + ris.arrrecnotif = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdr, idapp, shared_consts.LIMIT_NOTIF_FOR_USER, shared_consts.QualiNotifs.OTHERS); + ris.arrrecnotifcoins = await SendNotif.findAllNotifByUsernameIdAndIdApp(username, lastdr, idapp, shared_consts.LIMIT_NOTIFCOINS_FOR_USER, shared_consts.QualiNotifs.CIRCUITS); return res.send({ ris }); diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index 166d13b..4d1a3b6 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -3,7 +3,8 @@ module.exports = { CHECK_READ_GUIDELINES: 1, CHECK_SEE_VIDEO_PRINCIPI: 2, }, - LIMIT_NOTIF_FOR_USER: 200, + LIMIT_NOTIF_FOR_USER: 100, + LIMIT_NOTIFCOINS_FOR_USER: 200, QUERYTYPE_MYGROUP: 1, QUERYTYPE_REFUSED_USER_GRP: 2,