- 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.username_telegram': 1,
|
||||||
'profile.firstname_telegram': 1,
|
'profile.firstname_telegram': 1,
|
||||||
'profile.lastname_telegram': 1,
|
'profile.lastname_telegram': 1,
|
||||||
'profile.intcode_cell': 1,
|
// 'profile.intcode_cell': 1,
|
||||||
'profile.cell': 1,
|
// 'profile.cell': 1,
|
||||||
'profile.website': 1,
|
'profile.website': 1,
|
||||||
'profile.img': 1,
|
'profile.img': 1,
|
||||||
'profile.sex': 1,
|
'profile.sex': 1,
|
||||||
@@ -5202,6 +5202,24 @@ UserSchema.statics.getExtraInfoByUsername = async function (idapp, username) {
|
|||||||
return null;
|
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) {
|
UserSchema.statics.addExtraInfo = async function (idapp, recUser, recUserSave, version) {
|
||||||
|
|
||||||
try {
|
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 usernameOrig = req.user ? req.user.username : '';
|
||||||
const perm = req.user ? req.user.perm : tools.Perm.PERM_NONE;
|
const perm = req.user ? req.user.perm : tools.Perm.PERM_NONE;
|
||||||
const username = req.body['username'];
|
const username = req.body['username'];
|
||||||
@@ -464,7 +464,7 @@ router.post('/profile', authenticate_noerror, (req, res) => {
|
|||||||
return User.getFriendsByUsername(idapp, usernameOrig).
|
return User.getFriendsByUsername(idapp, usernameOrig).
|
||||||
then(async (friends) => {
|
then(async (friends) => {
|
||||||
if (username === usernameOrig) {
|
if (username === usernameOrig) {
|
||||||
const userprofile = await User.getExtraInfoByUsername(idapp, username);
|
const userprofile = await User.getExtraInfoByUsername(idapp, ris.username);
|
||||||
ris.profile = userprofile;
|
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) => {
|
router.post('/panel', authenticate, async (req, res) => {
|
||||||
const username = req.body['username'];
|
const username = req.body['username'];
|
||||||
idapp = req.body.idapp;
|
idapp = req.body.idapp;
|
||||||
|
|||||||
@@ -2324,6 +2324,7 @@ module.exports = {
|
|||||||
|
|
||||||
getQueryTable: async function (idapp, params, user) {
|
getQueryTable: async function (idapp, params, user) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
const { Search } = require('../models/search');
|
const { Search } = require('../models/search');
|
||||||
|
|
||||||
@@ -2938,6 +2939,7 @@ module.exports = {
|
|||||||
// if (!User.isAdmin(req.user.perm)) {
|
// if (!User.isAdmin(req.user.perm)) {
|
||||||
// not Visibility_Group.HIDDEN
|
// not Visibility_Group.HIDDEN
|
||||||
if (!filteradmin) {
|
if (!filteradmin) {
|
||||||
|
if (user) {
|
||||||
const filter = [
|
const filter = [
|
||||||
{
|
{
|
||||||
$or: [
|
$or: [
|
||||||
@@ -2955,6 +2957,17 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
query.push({ $match: { $and: filter } });
|
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);
|
// console.log('query', query);
|
||||||
|
|
||||||
return query;
|
return query;
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Err query:', e);
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user