Version 1.0.1 with RIS Circuit Money Exchange !

This commit is contained in:
Paolo Arena
2022-09-14 17:37:29 +02:00
parent 845e244470
commit 3d2e12df70
7 changed files with 143 additions and 71 deletions

View File

@@ -2084,6 +2084,9 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
const {SendNotif} = require('../models/sendnotif');
let ris = null;
let outres = {
result: false,
};
let update = {};
try {
if (cmd === shared_consts.CIRCUITCMD.SET) {
@@ -2116,7 +2119,7 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
if (ris) {
// Invia una notifica alla persona e agli Admin
tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, value, true, username_action, extrarec);
ris = await Circuit.getInfoCircuitByName(idapp, circuitname);
outres.result = await Circuit.getInfoCircuitByName(idapp, circuitname);
}
} else if (cmd === shared_consts.CIRCUITCMD.REQ) {
// Aggiungo la richiesta di Gruppo a me
@@ -2147,21 +2150,19 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
}
} else {
if (foundIfAlreadyAskCircuit) {
ris = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo il Gruppo da me
outres.result = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo il Gruppo da me
// Invia una notifica alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
}
}
ris = await Circuit.getInfoCircuitByName(idapp, circuitname);
} else if (cmd === shared_consts.CIRCUITCMD.REMOVE_FROM_MYLIST) {
// Remove if is also an Admin
await Circuit.removeAdminOfMyCircuit(idapp, usernameOrig, circuitname);
ris = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
console.log('ris', ris);
// Invia una notifica alla persona
@@ -2176,51 +2177,50 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
}
ris = await Circuit.deleteCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await Circuit.deleteCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
} else if (cmd === shared_consts.CIRCUITCMD.CANCEL_REQ) {
ris = await Circuit.removeReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await Circuit.removeReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
} else if (cmd === shared_consts.CIRCUITCMD.REFUSE_REQ) {
ris = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await this.removeFromCircuits(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
ris = await Circuit.removeReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await Circuit.removeReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
ris = await Circuit.refuseReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
outres.result = await Circuit.refuseReqCircuit(idapp, usernameOrig, circuitname); // Rimuovo l'Amicizia da me
// Invia una notifica alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
} else if (cmd === shared_consts.CIRCUITCMD.ADDADMIN) {
ris = await Circuit.addToAdminOfCircuit(idapp, usernameOrig, circuitname); // Rimuovo la richiesta di entrare nel gruppo
outres.result = await Circuit.addToAdminOfCircuit(idapp, usernameOrig, circuitname); // Rimuovo la richiesta di entrare nel gruppo
// Invia una notifica alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
} else if (cmd === shared_consts.CIRCUITCMD.REMOVEADMIN) {
ris = await Circuit.removeAdminOfCircuit(idapp, usernameOrig, circuitname); // Rimuovo la richiesta di entrare nel gruppo
outres.result = await Circuit.removeAdminOfCircuit(idapp, usernameOrig, circuitname); // Rimuovo la richiesta di entrare nel gruppo
// Invia una notifica alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
} else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REQ) {
let ris2 = await Circuit.sendCoins(true, idapp, usernameOrig, extrarec);
if (ris2.cansend) {
// Invia una notifica di moneta alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
} else {
ris2.cansend = false;
}
outres = await Circuit.sendCoins(true, idapp, usernameOrig, extrarec);
ris = ris2;
if (outres.cansend) {
// Invia una notifica di moneta alla persona
outres.result = await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
} else {
outres.cansend = false;
}
} else if ((cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) || (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE)) {
// Before to accept, I see if it's already set !
let ris2 = {
outres = {
cansend: false,
errormsg: '',
};
@@ -2234,26 +2234,41 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
}
if (!await SendNotif.checkIfCoinsAlreadySent(extrarec.notifId)) {
if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) {
ris2 = await Circuit.sendCoins(false, idapp, usernameOrig, extrarec);
outres = await Circuit.sendCoins(false, idapp, usernameOrig, extrarec);
} else {
ris2.cansend = true;
outres.cansend = true;
}
if (ris2.cansend) {
if (outres.cansend) {
// Invia una notifica di moneta alla persona
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
}
ris2.recnotif = await SendNotif.getRecNotif(extrarec.notifId);
outres.recnotif = await SendNotif.getRecNotif(extrarec.notifId);
ris2.user = await User.getExtraInfoByUsername(idapp, username_action);
} else {
ris2.cansend = false;
outres.cansend = false;
ris2.errormsg = i18n.__('CIRCUIT_COINS_ALREADY_PROCESSED', risStatus);
outres.errormsg = i18n.__('CIRCUIT_COINS_ALREADY_PROCESSED', risStatus);
}
ris = ris2;
ris = true;
}
if (ris && username_action) {
//++Todo: Ottimizzare ! Non occorre inviare tutti questi dati !!! Solo per il Circuito ?!
const user = await User.getExtraInfoByUsername(idapp, username_action);
if (user) {
outres.user = user;
}
outres.listcircuits = await Circuit.findAllIdApp(idapp);
}
if (circuitname)
outres.circuit = await Circuit.getInfoCircuitByName(idapp, circuitname);
return outres;
} catch (e) {
console.error('Error setCircuitCmd: ', e);
}
@@ -3756,6 +3771,12 @@ UserSchema.statics.getExtraInfoByUsername = async function(idapp, username) {
UserSchema.statics.addExtraInfo = async function(idapp, recUser) {
try {
if (recUser._doc.profile.notifs.length <= 0) {
recUser._doc.profile.notifs = shared_consts.DEFAULT_NOTIFS_USER;
await recUser.save();
}
const listSentMyRequestFriends = await User.find({
idapp,
'profile.req_friends': {