Quando aggiungi e rimuovi poi quando lo riaggiungi controlla che già non ci sia un ACCOUNTS ! (ora crea un'altro ACCOUNTS !)

This commit is contained in:
Surya Paolo
2022-11-30 15:00:52 +01:00
parent 3f3eda30bf
commit 403645a990
4 changed files with 50 additions and 48 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -192,7 +192,7 @@ AccountSchema.pre('save', async function(next) {
next(); next();
}); });
AccountSchema.statics.getAccountByUsernameAndCircuitId = async function(idapp, username, {circuitId, circuitName}, createifnotexist) { AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, username, circuitId, createifnotexist) {
const Account = this; const Account = this;
try { try {
@@ -205,20 +205,10 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function(idapp, u
let myquery = { let myquery = {
'idapp': idapp, 'idapp': idapp,
'username': username, 'username': username,
circuitId,
}; };
if (circuitId) { let mycircuit = await Circuit.getCircuitById(circuitId);
myquery.circuitId = circuitId;
}
if (circuitName) {
myquery.circuitName = circuitName;
}
let mycircuit;
if (circuitId)
mycircuit = await Circuit.getCircuitById(circuitId);
else
mycircuit = await Circuit.findOne({name: circuitName});
if (mycircuit) { if (mycircuit) {
let myaccount = await Account.findOne(myquery); let myaccount = await Account.findOne(myquery);
@@ -251,7 +241,19 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function(idapp, u
AccountSchema.statics.createAccount = async function (idapp, username, circuitName) { AccountSchema.statics.createAccount = async function (idapp, username, circuitName) {
return await Account.getAccountByUsernameAndCircuitId(idapp, username, {circuitName}, true); const { Circuit } = require('../models/circuit');
try {
mycircuit = await Circuit.findOne({ name: circuitName }, {_id: 1});
if (mycircuit) {
return await Account.getAccountByUsernameAndCircuitId(idapp, username, mycircuit._id, true);
} else {
return null;
}
} catch (e) {
console.error('error', e);
return null;
}
}; };

View File

@@ -614,8 +614,8 @@ CircuitSchema.statics.sendCoins = async function(onlycheck, idapp, usernameOrig,
if (circuittable) { if (circuittable) {
const myqty = Math.abs(extrarec.qty); const myqty = Math.abs(extrarec.qty);
const accountdestTable = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, {circuitId: circuittable._id}, true); const accountdestTable = await Account.getAccountByUsernameAndCircuitId(idapp, extrarec.dest, circuittable._id, true);
const accountorigTable = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, {circuitId: circuittable._id}, true); const accountorigTable = await Account.getAccountByUsernameAndCircuitId(idapp, usernameOrig, circuittable._id, true);
const circolantePrec = this.getCircolanteSingolaTransaz(accountorigTable, accountdestTable); const circolantePrec = this.getCircolanteSingolaTransaz(accountorigTable, accountdestTable);

View File

@@ -128,7 +128,7 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
if (!circuitId) { if (!circuitId) {
return []; return [];
} }
const myaccount = await Account.getAccountByUsernameAndCircuitId(idapp, username, {circuitId}, false); const myaccount = await Account.getAccountByUsernameAndCircuitId(idapp, username, circuitId, false);
if (myaccount) { if (myaccount) {