- sistemato anche il users/profile ed aggiunto /users/activities
This commit is contained in:
@@ -1727,8 +1727,8 @@ UserSchema.statics.getUserProfileByUsername = async function (
|
||||
'profile.username_telegram': 1,
|
||||
'profile.firstname_telegram': 1,
|
||||
'profile.lastname_telegram': 1,
|
||||
'profile.intcode_cell': 1,
|
||||
'profile.cell': 1,
|
||||
// 'profile.intcode_cell': 1,
|
||||
// 'profile.cell': 1,
|
||||
'profile.website': 1,
|
||||
'profile.img': 1,
|
||||
'profile.sex': 1,
|
||||
@@ -5202,6 +5202,24 @@ UserSchema.statics.getExtraInfoByUsername = async function (idapp, username) {
|
||||
return null;
|
||||
|
||||
};
|
||||
UserSchema.statics.getProfilePerActivitiesByUsername = async function (idapp, username) {
|
||||
const User = this;
|
||||
|
||||
try {
|
||||
let myuser = await User.findOne({ idapp, username }).lean();
|
||||
if (myuser) {
|
||||
return {
|
||||
mygroups: myuser.profile.mygroups,
|
||||
mycircuits: myuser.profile.mycircuits };
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('e', e);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, version) {
|
||||
|
||||
try {
|
||||
|
||||
@@ -443,7 +443,7 @@ router.post('/receiveris', authenticate, (req, res) => {
|
||||
};
|
||||
});
|
||||
|
||||
router.post('/profile', authenticate_noerror, (req, res) => {
|
||||
router.post('/profile', authenticate, (req, res) => {
|
||||
const usernameOrig = req.user ? req.user.username : '';
|
||||
const perm = req.user ? req.user.perm : tools.Perm.PERM_NONE;
|
||||
const username = req.body['username'];
|
||||
@@ -464,7 +464,7 @@ router.post('/profile', authenticate_noerror, (req, res) => {
|
||||
return User.getFriendsByUsername(idapp, usernameOrig).
|
||||
then(async (friends) => {
|
||||
if (username === usernameOrig) {
|
||||
const userprofile = await User.getExtraInfoByUsername(idapp, username);
|
||||
const userprofile = await User.getExtraInfoByUsername(idapp, ris.username);
|
||||
ris.profile = userprofile;
|
||||
}
|
||||
|
||||
@@ -485,6 +485,54 @@ router.post('/profile', authenticate_noerror, (req, res) => {
|
||||
|
||||
});
|
||||
|
||||
router.post('/activities', authenticate_noerror, (req, res) => {
|
||||
const usernameOrig = req.user ? req.user.username : '';
|
||||
const perm = req.user ? req.user.perm : tools.Perm.PERM_NONE;
|
||||
const username = req.body['username'];
|
||||
const idapp = req.body.idapp;
|
||||
const locale = req.body.locale;
|
||||
|
||||
//++Todo: controlla che tipo di dati ha il permesso di leggere
|
||||
|
||||
try {
|
||||
// Check if ìs a Notif to read
|
||||
const idnotif = req.body['idnotif'] ? req.body['idnotif'] : '';
|
||||
SendNotif.setNotifAsRead(idapp, usernameOrig, idnotif);
|
||||
|
||||
return User.getUserProfileByUsername(idapp, username, usernameOrig,
|
||||
false, perm).
|
||||
then((ris) => {
|
||||
|
||||
return User.getFriendsByUsername(idapp, usernameOrig).
|
||||
then(async (friends) => {
|
||||
let userprofile = null;
|
||||
if (req.user) {
|
||||
userprofile = await User.getExtraInfoByUsername(idapp, ris.username);
|
||||
} else {
|
||||
userprofile = await User.getProfilePerActivitiesByUsername(idapp, ris.username);
|
||||
ris.aportador_solidario = '';
|
||||
ris.date_reg = '';
|
||||
ris.email = '';
|
||||
}
|
||||
ris.profile = userprofile;
|
||||
|
||||
return { ris, friends };
|
||||
|
||||
}).then(tot => {
|
||||
return res.send({ user: tot.ris, friends: tot.friends });
|
||||
});
|
||||
|
||||
}).catch((e) => {
|
||||
tools.mylog('ERRORE IN Profile: ' + e.message);
|
||||
res.status(400).send();
|
||||
});
|
||||
} catch (e) {
|
||||
tools.mylogserr('Error profile: ', e);
|
||||
res.status(400).send();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
router.post('/panel', authenticate, async (req, res) => {
|
||||
const username = req.body['username'];
|
||||
idapp = req.body.idapp;
|
||||
|
||||
@@ -2324,6 +2324,7 @@ module.exports = {
|
||||
|
||||
getQueryTable: async function (idapp, params, user) {
|
||||
|
||||
try {
|
||||
|
||||
const { Search } = require('../models/search');
|
||||
|
||||
@@ -2938,6 +2939,7 @@ module.exports = {
|
||||
// if (!User.isAdmin(req.user.perm)) {
|
||||
// not Visibility_Group.HIDDEN
|
||||
if (!filteradmin) {
|
||||
if (user) {
|
||||
const filter = [
|
||||
{
|
||||
$or: [
|
||||
@@ -2955,6 +2957,17 @@ module.exports = {
|
||||
},
|
||||
];
|
||||
query.push({ $match: { $and: filter } });
|
||||
} else {
|
||||
const filter = [
|
||||
{
|
||||
visibility: {
|
||||
$nin: [shared_consts.Visibility_Group.HIDDEN],
|
||||
},
|
||||
},
|
||||
];
|
||||
query.push({ $match: { $and: filter } });
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
@@ -3005,6 +3018,9 @@ module.exports = {
|
||||
// console.log('query', query);
|
||||
|
||||
return query;
|
||||
} catch (e) {
|
||||
console.error('Err query:', e);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user