Conti Comunitari e Collettivi

This commit is contained in:
Surya Paolo
2023-02-01 16:36:10 +01:00
parent 9a0f0a0cc6
commit aa9d27c8fd
10 changed files with 183 additions and 58 deletions

View File

@@ -36,6 +36,9 @@ const AccountSchema = new Schema({
groupname: { // For the Groups
type: String,
},
contocom: { // For the Conto Comunitario dei Circuiti
type: String,
},
circuitId: { // ----- REF TO Circuit
type: String,
},
@@ -195,7 +198,7 @@ AccountSchema.pre('save', async function (next) {
next();
});
AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, username, circuitId, createifnotexist, groupname = '', iscontocom = false) {
AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp, username, circuitId, createifnotexist, groupname = '', contocom = "") {
const Account = this;
try {
@@ -212,6 +215,8 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp,
if (groupname) {
myquery.groupname = groupname;
} else if (contocom) {
myquery.contocom = contocom;
} else {
myquery.username = username;
}
@@ -227,6 +232,7 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp,
idapp,
username,
groupname,
contocom,
circuitId: mycircuit._id,
deperibile: false,
importo_iniziale: 0,
@@ -235,7 +241,7 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp,
qta_maxConcessa: 0,
});
if (iscontocom) {
if (contocom) {
myaccount.fidoConcesso = shared_consts.CIRCUIT_PARAMS.SCOPERTO_MIN_CONTO_COMUNITARIO;
myaccount.qta_maxConcessa = shared_consts.CIRCUIT_PARAMS.SCOPERTO_MAX_CONTO_COMUNITARIO;
} else {
@@ -267,14 +273,14 @@ AccountSchema.statics.getAccountByUsernameAndCircuitId = async function (idapp,
};
AccountSchema.statics.createAccount = async function (idapp, username, circuitName, groupname = '') {
AccountSchema.statics.createAccount = async function (idapp, username, circuitName, groupname = '', contocom = '') {
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, groupname, circuitName === groupname);
return await Account.getAccountByUsernameAndCircuitId(idapp, username, mycircuit._id, true, groupname, contocom);
} else {
return null;
}