Step 2: Creating page Messages: userlist last messages + a page for all the messages received and sent.

This commit is contained in:
Paolo Arena
2019-10-27 00:37:10 +02:00
parent e6c4053ccf
commit 5307c04151
9 changed files with 106 additions and 60 deletions

View File

@@ -105,6 +105,9 @@ var UserSchema = new mongoose.Schema({
tokenforgot: {
type: String,
},
lasttimeonline: {
type: Date
}
});
@@ -133,6 +136,8 @@ UserSchema.methods.generateAuthToken = function (req) {
});
user.tokens.push({ access, browser, token, date_login });
user.lasttimeonline = new Date();
return user.save()
.then(() => {
console.log("TOKEN CREATO IN LOGIN : " + token);
@@ -158,7 +163,7 @@ UserSchema.statics.setPermissionsById = function (id, perm) {
UserSchema.statics.isAdmin = function (user) {
try {
return ((user.perm & shared_consts.Permissions.Admin) === shared_consts.Permissions.Admin);
}catch (e) {
} catch (e) {
return false
}
};
@@ -166,7 +171,7 @@ UserSchema.statics.isAdmin = function (user) {
UserSchema.statics.isManager = function (user) {
try {
return ((user.perm & shared_consts.Permissions.Manager) === shared_consts.Permissions.Manager);
}catch (e) {
} catch (e) {
return false
}
};
@@ -280,7 +285,6 @@ UserSchema.pre('save', function (next) {
var user = this;
/*
if (user.isModified('password')) {
bcrypt.genSalt(10, (err, salt) => {
@@ -306,10 +310,31 @@ UserSchema.methods.removeToken = function (token) {
});
};
UserSchema.statics.getEmailByUsername = async function (idapp, username) {
const User = this;
return await User.findOne({ idapp, username })
.then((arrrec) => {
return ((arrrec) ? arrrec.email : '');
}).catch((e) => {
console.error('getEmailByUsername', e);
});
};
UserSchema.statics.getUsersList = function (idapp) {
const User = this;
return User.find({ 'idapp': idapp }, { username: 1, name: 1, surname: 1, verified_email: 1, perm:1, email: 1, date_reg: 1, img: 1 })
return User.find({ 'idapp': idapp }, {
username: 1,
name: 1,
surname: 1,
verified_email: 1,
perm: 1,
email: 1,
date_reg: 1,
img: 1
})
};
@@ -324,7 +349,7 @@ UserSchema.statics.getUsersListByParams = function (params) {
return User.find(
{ $match: filterMatchBefore },
{ 'idapp': idapp },
{ username: 1, name: 1, surname: 1, verified_email: 1, perm:1, email: 1, date_reg: 1, img: 1 })
{ username: 1, name: 1, surname: 1, verified_email: 1, perm: 1, email: 1, date_reg: 1, img: 1, lasttimeonline: 1 })
};