- sono uscito da tutti i circuiti che sono a zero e anche admin.
This commit is contained in:
@@ -1398,6 +1398,11 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
|
|||||||
if (User.isAdmin(req.user.perm)) {
|
if (User.isAdmin(req.user.perm)) {
|
||||||
ris = globalTables.replaceUsername(req.body.idapp, mydata.search_username, mydata.replace_username);
|
ris = globalTables.replaceUsername(req.body.idapp, mydata.search_username, mydata.replace_username);
|
||||||
}
|
}
|
||||||
|
} else if (mydata.dbop === 'ExitFromAllCircuitWithZero') {
|
||||||
|
|
||||||
|
if (User.isAdmin(req.user.perm)) {
|
||||||
|
ris = globalTables.ExitFromAllCircuitWithZero(req.body.idapp, mydata.search_username);
|
||||||
|
}
|
||||||
} else if (mydata.dbop === 'replaceAportadorSolidario') {
|
} else if (mydata.dbop === 'replaceAportadorSolidario') {
|
||||||
|
|
||||||
if (User.isAdmin(req.user.perm)) {
|
if (User.isAdmin(req.user.perm)) {
|
||||||
|
|||||||
@@ -1435,7 +1435,7 @@ module.exports = {
|
|||||||
getAdminsByCircuit(circuit) {
|
getAdminsByCircuit(circuit) {
|
||||||
// return circuit.admins
|
// return circuit.admins
|
||||||
|
|
||||||
return [...circuit.admins, shared_consts.USER_ADMIN_CIRCUITS]
|
return [...circuit.admins, { username: shared_consts.USER_ADMIN_CIRCUITS }]
|
||||||
},
|
},
|
||||||
|
|
||||||
sendNotificationByCircuit: async function (idapp, usernameOrig, circuitname, cmd, value, telegram, username_action, extrarec) {
|
sendNotificationByCircuit: async function (idapp, usernameOrig, circuitname, cmd, value, telegram, username_action, extrarec) {
|
||||||
@@ -1515,7 +1515,7 @@ module.exports = {
|
|||||||
|
|
||||||
const groupOrig = '' //++Todo: extrarec.groupOrig
|
const groupOrig = '' //++Todo: extrarec.groupOrig
|
||||||
|
|
||||||
for (const singleadmin of this.getAdminsByCircuit(circuit) {
|
for (const singleadmin of this.getAdminsByCircuit(circuit)) {
|
||||||
try {
|
try {
|
||||||
if (singleadmin.username) {
|
if (singleadmin.username) {
|
||||||
if (usernameOrig === singleadmin.username)
|
if (usernameOrig === singleadmin.username)
|
||||||
|
|||||||
@@ -953,7 +953,45 @@ module.exports = {
|
|||||||
res.status(408).send({});
|
res.status(408).send({});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
async removeAdminIfZeroBalance(idapp, username) {
|
||||||
|
try {
|
||||||
|
// Trova l'account con saldo_pend a zero
|
||||||
|
const accountarr = await Account.find({ idapp, username: username, saldo_pend: 0 }).lean();
|
||||||
|
|
||||||
|
if (accountarr) {
|
||||||
|
for (const recaccount of accountarr) {
|
||||||
|
// Rimuovi l'username dalla lista degli admins nel Circuit
|
||||||
|
const ris = await Circuit.findOneAndUpdate(
|
||||||
|
{ _id: recaccount.circuitId },
|
||||||
|
{ $pull: { admins: { username: username } } }, // Rimuove l'username dalla lista degli admins
|
||||||
|
{ new: true } // Opzione per restituire il documento aggiornato
|
||||||
|
);
|
||||||
|
|
||||||
|
const nomecircuito = ris.name;
|
||||||
|
|
||||||
|
// Esco anche dal Circuito personale:
|
||||||
|
await User.findOneAndUpdate(
|
||||||
|
{ idapp, username },
|
||||||
|
{ $pull: { 'profile.mycircuits': { circuitname: nomecircuito } } }
|
||||||
|
);
|
||||||
|
|
||||||
|
if (ris)
|
||||||
|
console.log(`L'username ${username} è stato rimosso dagli admins di ` + nomecircuito);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log(`Nessun account trovato con saldo_pend a zero per l'username: ${username}.`);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Errore durante l\'operazione:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
async ExitFromAllCircuitWithZero(idapp, username) {
|
||||||
|
return await this.removeAdminIfZeroBalance(idapp, username);
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user