go on Conto Comunitario

This commit is contained in:
Surya Paolo
2023-02-01 01:19:50 +01:00
parent 5f3ce44a68
commit 9a0f0a0cc6
6 changed files with 66 additions and 29 deletions

View File

@@ -5,23 +5,24 @@ const tools = require('../tools/general');
const server_constants = require('../tools/server_constants');
const {authenticate} = require('../middleware/authenticate');
const { authenticate } = require('../middleware/authenticate');
const mongoose = require('mongoose').set('debug', false);
const {User} = require('../models/user');
const {Circuit} = require('../models/circuit');
const { User } = require('../models/user');
const { Circuit } = require('../models/circuit');
const { Account } = require('../models/account');
const _ = require('lodash');
const {ObjectID} = require('mongodb');
const { ObjectID } = require('mongodb');
async function getCircuitRecAdminsInfo(idapp, data) {
if (data && data.admins) {
for (const admin of data.admins) {
const myuser = await User.findOne({idapp, username: admin.username}, {'profile.img': 1}).lean();
admin.profile = {img: myuser.profile.img};
const myuser = await User.findOne({ idapp, username: admin.username }, { 'profile.img': 1 }).lean();
admin.profile = { img: myuser.profile.img };
}
}
@@ -35,15 +36,15 @@ router.post('/load', authenticate, async (req, res) => {
try {
const {SendNotif} = require('../models/sendnotif');
const {Movement} = require('../models/movement');
const { SendNotif } = require('../models/sendnotif');
const { Movement } = require('../models/movement');
// Check if ìs a Notif to read
const idnotif = req.body['idnotif'] ? req.body['idnotif'] : '';
SendNotif.setNotifAsRead(idapp, usernameOrig, idnotif);
const whatshow = Circuit.getWhatToShow(idapp, req.user.username);
let data = await Circuit.findOne({idapp, path}, whatshow).lean();
let data = await Circuit.findOne({ idapp, path }, whatshow).lean();
const whatshowUsers = await User.getWhatToShow_IfFriends(idapp, req.user.username);
@@ -70,7 +71,11 @@ router.post('/load', authenticate, async (req, res) => {
data.movements = await Movement.getMovsByCircuitId(idapp, usernameOrig, data._id);
}
res.send({circuit: data, users_in_circuit});
if (data) {
data.account = await Account.getAccountByUsernameAndCircuitId(idapp, '', data._id, false, data.path);
}
res.send({ circuit: data, users_in_circuit });
} catch (e) {
console.error('Error in Circuits', e);

View File

@@ -469,8 +469,13 @@ router.post('/settable', authenticate, async (req, res) => {
return res.send({ rec: myrec, ris });
});
} else if (params.table === shared_consts.TAB_MYCIRCUITS && isnewrec) {
// nuovo Record:
// aggiungi il creatore al Circuito stesso
// nuovo Circuito:
await User.setCircuitCmd(mydata.idapp, req.user.username, myrec.name,
shared_consts.CIRCUITCMD.CREATE, true, req.user.username, extrarec).then((ris) => {
return res.send({ rec: myrec, ris });
});
// aggiungi il creatore al Circuito stesso
return await User.setCircuitCmd(mydata.idapp, req.user.username, myrec.name,
shared_consts.CIRCUITCMD.SET, true, req.user.username, extrarec).then((ris) => {
return res.send({ rec: myrec, ris });

View File

@@ -38,6 +38,7 @@ const TypedError = require('../modules/ErrorHandler');
const { MyGroup } = require('../models/mygroup');
const { Circuit } = require('../models/circuit');
const { Account } = require('../models/account');
const mongoose = require('mongoose').set('debug', false);
@@ -687,8 +688,8 @@ router.post('/friends/cmd', authenticate, async (req, res) => {
if ((usernameOrig !== usernameLogged) && (
(usernameDest !== usernameLogged) &&
((cmd === shared_consts.FRIENDSCMD.SETFRIEND) ||
(cmd === shared_consts.FRIENDSCMD.SETHANDSHAKE))
(cmd === shared_consts.FRIENDSCMD.SETHANDSHAKE))
)) {
return res.status(404).
send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
@@ -1090,8 +1091,18 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
ris = populate.rewriteTable('contribtypes');
} else if (mydata.dbop === 'CreateAccountCircuits') {
const allcirc = await Circuit.find({ idapp });
for (const mycirc of allcirc) {
// Il Conto Comunitario prende il nome del circuito !
await Account.createAccount(idapp, '', mycirc.name, mycirc.path);
}
} else if (mydata.dbop === 'ReplaceUsername') {
if (User.isAdmin(req.user.perm)) {
ris = globalTables.replaceUsername(req.body.idapp, mydata.search_username, mydata.replace_username);
}