Version 1.0.1 with RIS Circuit Money Exchange !
This commit is contained in:
@@ -108,17 +108,13 @@ AccountSchema.statics.getAccountsByUsername = async function(idapp, username) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
AccountSchema.statics.addtoSaldo = async function(id, amount) {
|
AccountSchema.methods.addtoSaldo = async function(amount) {
|
||||||
const Account = this;
|
const account = this;
|
||||||
|
|
||||||
if (!id)
|
if (account) {
|
||||||
return false;
|
account.saldo = account.saldo + amount;
|
||||||
|
account.date_updated = new Date();
|
||||||
const myaccount = await Account.findById(id);
|
return await account.save();
|
||||||
if (myaccount) {
|
|
||||||
myaccount.saldo = myaccount.saldo + amount;
|
|
||||||
myaccount.date_updated = new Date();
|
|
||||||
return await myaccount.save();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -158,11 +154,11 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function(idapp, u
|
|||||||
if (circuitId)
|
if (circuitId)
|
||||||
mycircuit = await Circuit.getCircuitById(circuitId);
|
mycircuit = await Circuit.getCircuitById(circuitId);
|
||||||
else
|
else
|
||||||
mycircuit = await Circuit.findOne({name: circuitName}).lean();
|
mycircuit = await Circuit.findOne({name: circuitName});
|
||||||
|
|
||||||
|
|
||||||
if (mycircuit) {
|
if (mycircuit) {
|
||||||
let myaccount = await Account.findOne(myquery).lean();
|
let myaccount = await Account.findOne(myquery);
|
||||||
|
|
||||||
if (!myaccount && createifnotexist) {
|
if (!myaccount && createifnotexist) {
|
||||||
myaccount = new Account({
|
myaccount = new Account({
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ const CircuitSchema = new Schema({
|
|||||||
symbol: {
|
symbol: {
|
||||||
type: String,
|
type: String,
|
||||||
maxlength: 7,
|
maxlength: 7,
|
||||||
unique: true,
|
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -211,6 +210,8 @@ CircuitSchema.statics.getWhatToShow = function(idapp, username) {
|
|||||||
subname: 1,
|
subname: 1,
|
||||||
longdescr: 1,
|
longdescr: 1,
|
||||||
regulation: 1,
|
regulation: 1,
|
||||||
|
totCircolante: 1,
|
||||||
|
totTransato: 1,
|
||||||
systemUserId: 1,
|
systemUserId: 1,
|
||||||
createdBy: 1,
|
createdBy: 1,
|
||||||
date_created: 1,
|
date_created: 1,
|
||||||
@@ -248,6 +249,8 @@ CircuitSchema.statics.getWhatToShow_Unknown = function(idapp, username) {
|
|||||||
systemUserId: 1,
|
systemUserId: 1,
|
||||||
founderUserId: 1,
|
founderUserId: 1,
|
||||||
nome_valuta: 1,
|
nome_valuta: 1,
|
||||||
|
totCircolante: 1,
|
||||||
|
totTransato: 1,
|
||||||
fido_scoperto_default: 1,
|
fido_scoperto_default: 1,
|
||||||
qta_max_default: 1,
|
qta_max_default: 1,
|
||||||
symbol: 1,
|
symbol: 1,
|
||||||
@@ -363,7 +366,7 @@ CircuitSchema.statics.getCircuitByName = async function(idapp, name) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return await Circuit.findOne(myfind).lean();
|
return await Circuit.findOne(myfind);
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return null;
|
return null;
|
||||||
@@ -378,7 +381,7 @@ CircuitSchema.statics.getCircuitById = async function(circuitId) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return await Circuit.findOne(myfind).lean();
|
return await Circuit.findOne(myfind);
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return null;
|
return null;
|
||||||
@@ -440,12 +443,24 @@ CircuitSchema.statics.getUserCircuits = async function(idapp, username) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CircuitSchema.statics.getCircolanteSingolaTransaz = function(accountorigTable, accountdestTable) {
|
||||||
|
|
||||||
|
let circolante = 0;
|
||||||
|
if (accountdestTable.saldo > 0)
|
||||||
|
circolante += accountdestTable.saldo;
|
||||||
|
if (accountorigTable.saldo > 0)
|
||||||
|
circolante += accountorigTable.saldo;
|
||||||
|
|
||||||
|
return circolante;
|
||||||
|
};
|
||||||
|
|
||||||
CircuitSchema.statics.sendCoins = async function(onlycheck, idapp, usernameOrig, extrarec) {
|
CircuitSchema.statics.sendCoins = async function(onlycheck, idapp, usernameOrig, extrarec) {
|
||||||
|
|
||||||
const {Movement} = require('../models/movement');
|
const {Movement} = require('../models/movement');
|
||||||
const {Account} = require('../models/account');
|
const {Account} = require('../models/account');
|
||||||
|
|
||||||
let ris = {
|
let ris = {
|
||||||
|
result: false,
|
||||||
cansend: true,
|
cansend: true,
|
||||||
errormsg: '',
|
errormsg: '',
|
||||||
rec: null,
|
rec: null,
|
||||||
@@ -453,47 +468,61 @@ CircuitSchema.statics.sendCoins = async function(onlycheck, idapp, usernameOrig,
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let reccircuit = null;
|
let circuittable = null;
|
||||||
if (extrarec.circuitname)
|
if (extrarec.circuitname)
|
||||||
reccircuit = await Circuit.getCircuitByName(idapp, extrarec.circuitname);
|
circuittable = await Circuit.getCircuitByName(idapp, extrarec.circuitname);
|
||||||
if (extrarec.circuitId)
|
if (extrarec.circuitId)
|
||||||
reccircuit = await Circuit.getCircuitById(idapp, extrarec.circuitId);
|
circuittable = await Circuit.getCircuitById(idapp, extrarec.circuitId);
|
||||||
|
|
||||||
if (reccircuit) {
|
if (circuittable) {
|
||||||
const myqty = extrarec.qty;
|
const myqty = Math.abs(extrarec.qty);
|
||||||
|
|
||||||
const accountdest = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, { circuitId: reccircuit._id }, true);
|
const accountdestTable = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, { circuitId: circuittable._id }, true);
|
||||||
const accountorig = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, { circuitId: reccircuit._id }, true);
|
const accountorigTable = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, { circuitId: circuittable._id }, true);
|
||||||
|
|
||||||
|
const circolantePrec = this.getCircolanteSingolaTransaz(accountorigTable, accountdestTable);
|
||||||
|
|
||||||
// Check if Sender has enough money
|
// Check if Sender has enough money
|
||||||
if (accountorig.saldo - myqty < -accountorig.fidoConcesso) {
|
if (accountorigTable.saldo - myqty < -accountorigTable.fidoConcesso) {
|
||||||
ris.cansend = false;
|
ris.cansend = false;
|
||||||
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_FIDO');
|
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_FIDO');
|
||||||
}
|
}
|
||||||
if (accountdest.saldo + myqty > accountorig.qta_maxConcessa) {
|
if (accountdestTable.saldo + myqty > accountorigTable.qta_maxConcessa) {
|
||||||
ris.cansend = false;
|
ris.cansend = false;
|
||||||
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_QTAMAX');
|
ris.errormsg = i18n.__('CIRCUIT_AMOUNT_EXCEED_QTAMAX');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!onlycheck) {
|
if (!onlycheck) {
|
||||||
// Add a Transaction !
|
// Add a Transaction !
|
||||||
ris.rec = await Movement.addMov(idapp, accountorig, accountdest, myqty, extrarec.causal);
|
ris.rec = await Movement.addMov(idapp, accountorigTable, accountdestTable, myqty, extrarec.causal);
|
||||||
|
|
||||||
ris.useraccounts = await Account.getUserAccounts(idapp, usernameOrig);
|
if (ris.cansend && ris.rec) {
|
||||||
|
|
||||||
|
const circolanteAtt = this.getCircolanteSingolaTransaz(accountorigTable, accountdestTable);
|
||||||
|
|
||||||
|
// Somma di tutte le transazioni
|
||||||
|
circuittable.totTransato += myqty;
|
||||||
|
circuittable.totCircolante = circuittable.totCircolante + (circolanteAtt - circolantePrec);
|
||||||
|
await circuittable.save();
|
||||||
|
|
||||||
|
ris.result = true;
|
||||||
|
console.log('Inviate Monete da', usernameOrig, extrarec.dest, myqty, extrarec.causal);
|
||||||
|
|
||||||
|
ris.useraccounts = await Account.getUserAccounts(idapp, usernameOrig);
|
||||||
|
|
||||||
if (ris.cansend) {
|
|
||||||
console.log('Invia Monete da', usernameOrig, extrarec.dest, extrarec.qty, extrarec.causal);
|
|
||||||
} else {
|
} else {
|
||||||
console.log('NON Inviate Monete da', usernameOrig, extrarec.dest, extrarec.qty, extrarec.causal);
|
console.log('NON Inviate Monete da', usernameOrig, extrarec.dest, myqty, extrarec.causal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return ris;
|
return ris;
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Err sendCoins', e);
|
console.error('Err sendCoins', e);
|
||||||
return false;
|
ris.result = false;
|
||||||
|
return ris;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ MovementSchema.statics.executeQueryTable = function(idapp, params) {
|
|||||||
return tools.executeQueryTable(this, 0, params);
|
return tools.executeQueryTable(this, 0, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
MovementSchema.statics.addMov = async function(idapp, accountFromId, accountToId, amount, causal) {
|
MovementSchema.statics.addMov = async function(idapp, accountFromIdTable, accountToIdTable, amount, causal) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let mymov = Movement(
|
let mymov = Movement(
|
||||||
@@ -92,8 +92,8 @@ MovementSchema.statics.addMov = async function(idapp, accountFromId, accountToId
|
|||||||
_id: new ObjectID().toString(),
|
_id: new ObjectID().toString(),
|
||||||
idapp,
|
idapp,
|
||||||
transactionDate: new Date(),
|
transactionDate: new Date(),
|
||||||
accountFromId: accountFromId._id,
|
accountFromId: accountFromIdTable._id,
|
||||||
accountToId: accountToId._id,
|
accountToId: accountToIdTable._id,
|
||||||
amount,
|
amount,
|
||||||
causal,
|
causal,
|
||||||
residual: 0,
|
residual: 0,
|
||||||
@@ -104,9 +104,9 @@ MovementSchema.statics.addMov = async function(idapp, accountFromId, accountToId
|
|||||||
const rismov = await mymov.save();
|
const rismov = await mymov.save();
|
||||||
if (rismov) {
|
if (rismov) {
|
||||||
// Update saldo dell'Account
|
// Update saldo dell'Account
|
||||||
Account.addtoSaldo(accountToId, amount);
|
await accountToIdTable.addtoSaldo(amount);
|
||||||
|
|
||||||
Account.addtoSaldo(accountFromId, -amount);
|
await accountFromIdTable.addtoSaldo(-amount);
|
||||||
|
|
||||||
return rismov;
|
return rismov;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2084,6 +2084,9 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
|
|||||||
const {SendNotif} = require('../models/sendnotif');
|
const {SendNotif} = require('../models/sendnotif');
|
||||||
|
|
||||||
let ris = null;
|
let ris = null;
|
||||||
|
let outres = {
|
||||||
|
result: false,
|
||||||
|
};
|
||||||
let update = {};
|
let update = {};
|
||||||
try {
|
try {
|
||||||
if (cmd === shared_consts.CIRCUITCMD.SET) {
|
if (cmd === shared_consts.CIRCUITCMD.SET) {
|
||||||
@@ -2116,7 +2119,7 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
|
|||||||
if (ris) {
|
if (ris) {
|
||||||
// Invia una notifica alla persona e agli Admin
|
// Invia una notifica alla persona e agli Admin
|
||||||
tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, value, true, username_action, extrarec);
|
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) {
|
} else if (cmd === shared_consts.CIRCUITCMD.REQ) {
|
||||||
// Aggiungo la richiesta di Gruppo a me
|
// Aggiungo la richiesta di Gruppo a me
|
||||||
@@ -2147,21 +2150,19 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (foundIfAlreadyAskCircuit) {
|
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
|
// Invia una notifica alla persona
|
||||||
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
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) {
|
} else if (cmd === shared_consts.CIRCUITCMD.REMOVE_FROM_MYLIST) {
|
||||||
|
|
||||||
// Remove if is also an Admin
|
// Remove if is also an Admin
|
||||||
await Circuit.removeAdminOfMyCircuit(idapp, usernameOrig, circuitname);
|
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);
|
console.log('ris', ris);
|
||||||
|
|
||||||
// Invia una notifica alla persona
|
// 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);
|
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) {
|
} 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) {
|
} 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
|
// Invia una notifica alla persona
|
||||||
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
||||||
|
|
||||||
} else if (cmd === shared_consts.CIRCUITCMD.ADDADMIN) {
|
} 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
|
// Invia una notifica alla persona
|
||||||
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
||||||
|
|
||||||
} else if (cmd === shared_consts.CIRCUITCMD.REMOVEADMIN) {
|
} 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
|
// Invia una notifica alla persona
|
||||||
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
||||||
|
|
||||||
} else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REQ) {
|
} else if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REQ) {
|
||||||
|
|
||||||
let ris2 = await Circuit.sendCoins(true, idapp, usernameOrig, extrarec);
|
outres = 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
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)) {
|
} else if ((cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) || (cmd === shared_consts.CIRCUITCMD.SENDCOINS_REFUSE)) {
|
||||||
// Before to accept, I see if it's already set !
|
// Before to accept, I see if it's already set !
|
||||||
|
|
||||||
let ris2 = {
|
outres = {
|
||||||
cansend: false,
|
cansend: false,
|
||||||
errormsg: '',
|
errormsg: '',
|
||||||
};
|
};
|
||||||
@@ -2234,26 +2234,41 @@ UserSchema.statics.setCircuitCmd = async function(idapp, usernameOrig, circuitna
|
|||||||
}
|
}
|
||||||
if (!await SendNotif.checkIfCoinsAlreadySent(extrarec.notifId)) {
|
if (!await SendNotif.checkIfCoinsAlreadySent(extrarec.notifId)) {
|
||||||
if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) {
|
if (cmd === shared_consts.CIRCUITCMD.SENDCOINS_ACCEPT) {
|
||||||
ris2 = await Circuit.sendCoins(false, idapp, usernameOrig, extrarec);
|
outres = await Circuit.sendCoins(false, idapp, usernameOrig, extrarec);
|
||||||
} else {
|
} else {
|
||||||
ris2.cansend = true;
|
outres.cansend = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ris2.cansend) {
|
if (outres.cansend) {
|
||||||
// Invia una notifica di moneta alla persona
|
// Invia una notifica di moneta alla persona
|
||||||
await tools.sendNotificationByCircuit(idapp, usernameOrig, circuitname, cmd, false, true, username_action, extrarec);
|
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 {
|
} 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) {
|
} catch (e) {
|
||||||
console.error('Error setCircuitCmd: ', e);
|
console.error('Error setCircuitCmd: ', e);
|
||||||
}
|
}
|
||||||
@@ -3756,6 +3771,12 @@ UserSchema.statics.getExtraInfoByUsername = async function(idapp, username) {
|
|||||||
UserSchema.statics.addExtraInfo = async function(idapp, recUser) {
|
UserSchema.statics.addExtraInfo = async function(idapp, recUser) {
|
||||||
|
|
||||||
try {
|
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({
|
const listSentMyRequestFriends = await User.find({
|
||||||
idapp,
|
idapp,
|
||||||
'profile.req_friends': {
|
'profile.req_friends': {
|
||||||
|
|||||||
@@ -338,10 +338,12 @@ router.post('/settable', authenticate, async (req, res) => {
|
|||||||
if (alreadyexist) {
|
if (alreadyexist) {
|
||||||
return res.send({code: server_constants.RIS_CODE_REC_ALREADY_EXIST_NAME});
|
return res.send({code: server_constants.RIS_CODE_REC_ALREADY_EXIST_NAME});
|
||||||
}
|
}
|
||||||
alreadyexist = await Circuit.findOne({idapp, symbol: mydata.symbol});
|
/*alreadyexist = await Circuit.findOne({idapp, symbol: mydata.symbol});
|
||||||
if (alreadyexist) {
|
if (alreadyexist) {
|
||||||
return res.send({code: server_constants.RIS_CODE_REC_ALREADY_EXIST_SYMBOL});
|
return res.send({code: server_constants.RIS_CODE_REC_ALREADY_EXIST_SYMBOL});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(params.table)) {
|
if (shared_consts.TABLES_UPDATE_LASTMODIFIED.includes(params.table)) {
|
||||||
@@ -393,7 +395,7 @@ router.post('/settable', authenticate, async (req, res) => {
|
|||||||
}
|
}
|
||||||
if (shared_consts.TABLES_CIRCUITS_NOTIFICATION.includes(params.table)) {
|
if (shared_consts.TABLES_CIRCUITS_NOTIFICATION.includes(params.table)) {
|
||||||
typedir = shared_consts.TypeNotifs.TYPEDIR_CIRCUITS;
|
typedir = shared_consts.TypeNotifs.TYPEDIR_CIRCUITS;
|
||||||
typeid = shared_consts.TypeNotifs.ID_GROUP_NEW_REC;
|
typeid = shared_consts.TypeNotifs.ID_CIRCUIT_NEW_REC;
|
||||||
circuitnameDest = myrec ? myrec.name : '';
|
circuitnameDest = myrec ? myrec.name : '';
|
||||||
setnotif = true;
|
setnotif = true;
|
||||||
}
|
}
|
||||||
@@ -409,18 +411,18 @@ router.post('/settable', authenticate, async (req, res) => {
|
|||||||
return await User.setGroupsCmd(mydata.idapp, req.user.username,
|
return await User.setGroupsCmd(mydata.idapp, req.user.username,
|
||||||
myrec.groupname,
|
myrec.groupname,
|
||||||
shared_consts.GROUPSCMD.SETGROUP, true, req.user.username).then((ris) => {
|
shared_consts.GROUPSCMD.SETGROUP, true, req.user.username).then((ris) => {
|
||||||
return res.send(myrec);
|
return res.send({rec: myrec, ris});
|
||||||
});
|
});
|
||||||
} else if (params.table === shared_consts.TAB_MYCIRCUITS && isnewrec) {
|
} else if (params.table === shared_consts.TAB_MYCIRCUITS && isnewrec) {
|
||||||
// nuovo Record:
|
// nuovo Record:
|
||||||
// aggiungi il creatore al Circuito stesso
|
// aggiungi il creatore al Circuito stesso
|
||||||
return await User.setCircuitCmd(mydata.idapp, req.user.username, myrec.name,
|
return await User.setCircuitCmd(mydata.idapp, req.user.username, myrec.name,
|
||||||
shared_consts.CIRCUITCMD.SET, true, req.user.username, extrarec).then((ris) => {
|
shared_consts.CIRCUITCMD.SET, true, req.user.username, extrarec).then((ris) => {
|
||||||
return res.send(myrec);
|
return res.send({rec: myrec, ris});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return res.send(myrec);
|
return res.send({rec: myrec, ris: null});
|
||||||
}).catch(async (e) => {
|
}).catch(async (e) => {
|
||||||
console.error('settable', e.message);
|
console.error('settable', e.message);
|
||||||
if (e.code === 11000) {
|
if (e.code === 11000) {
|
||||||
@@ -432,7 +434,7 @@ router.post('/settable', authenticate, async (req, res) => {
|
|||||||
}
|
}
|
||||||
return await mytablestrutt.findByIdAndUpdate(id, {$set: myfields}).
|
return await mytablestrutt.findByIdAndUpdate(id, {$set: myfields}).
|
||||||
then(async (rec) => {
|
then(async (rec) => {
|
||||||
return res.send(rec);
|
return res.send({rec});
|
||||||
}).
|
}).
|
||||||
catch((err) => {
|
catch((err) => {
|
||||||
tools.mylog('error: ', err.message);
|
tools.mylog('error: ', err.message);
|
||||||
|
|||||||
@@ -3946,7 +3946,7 @@ if (true) {
|
|||||||
|
|
||||||
if (circuit) {
|
if (circuit) {
|
||||||
cmd = shared_consts.CIRCUITCMD.SET;
|
cmd = shared_consts.CIRCUITCMD.SET;
|
||||||
constF foundIfAlreadyCircuit = await User.ifAlreadyInCircuit(user.idapp, data.username, circuit.name);
|
const foundIfAlreadyCircuit = await User.ifAlreadyInCircuit(user.idapp, data.username, circuit.name);
|
||||||
|
|
||||||
if (!foundIfAlreadyCircuit) {
|
if (!foundIfAlreadyCircuit) {
|
||||||
// Aggiungilo nel Circuito
|
// Aggiungilo nel Circuito
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ module.exports = {
|
|||||||
|
|
||||||
TABLES_USER_INCLUDE_MY: ['mygroups', 'circuits'],
|
TABLES_USER_INCLUDE_MY: ['mygroups', 'circuits'],
|
||||||
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||||
|
//++Todo: per abilitare gli utenti ad inserire un Circuito aggiungere 'circuits' alla lista TABLES_PERM_NEWREC
|
||||||
TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups', 'myhosps'],
|
TABLES_PERM_NEWREC: ['skills', 'goods', 'subskills', 'mygroups', 'myhosps'],
|
||||||
TABLES_REC_ID: ['skills', 'goods', 'subskills'],
|
TABLES_REC_ID: ['skills', 'goods', 'subskills'],
|
||||||
|
|
||||||
@@ -461,4 +462,27 @@ module.exports = {
|
|||||||
'qualified'];
|
'qualified'];
|
||||||
},
|
},
|
||||||
|
|
||||||
|
DEFAULT_NOTIFS_USER: [
|
||||||
|
{
|
||||||
|
"dir": 1,
|
||||||
|
"value": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dir": 2,
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dir": 3,
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dir": 4,
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dir": 5,
|
||||||
|
"value": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user