- Finished Booking an Event
- Starting UsersList (creating CGridTableRec component to view and edit a db table)
This commit is contained in:
@@ -25,7 +25,7 @@ var UserSchema = new mongoose.Schema({
|
||||
required: true,
|
||||
trim: true,
|
||||
minlength: 1,
|
||||
unique: true,
|
||||
unique: false,
|
||||
/*validate: {
|
||||
validator: validator.isEmail,
|
||||
message: '{VALUE} is not a valid email'
|
||||
@@ -40,7 +40,7 @@ var UserSchema = new mongoose.Schema({
|
||||
required: true,
|
||||
trim: true,
|
||||
minlength: 6,
|
||||
unique: true,
|
||||
unique: false,
|
||||
},
|
||||
name: {
|
||||
type: String,
|
||||
@@ -83,6 +83,13 @@ var UserSchema = new mongoose.Schema({
|
||||
type: Date
|
||||
},
|
||||
}],
|
||||
perm: {
|
||||
type: Number
|
||||
},
|
||||
date_reg: {
|
||||
type: Date,
|
||||
default: Date.now()
|
||||
},
|
||||
date_tokenforgot: {
|
||||
type: Date
|
||||
},
|
||||
@@ -96,7 +103,7 @@ UserSchema.methods.toJSON = function () {
|
||||
var user = this;
|
||||
var userObject = user.toObject();
|
||||
|
||||
return _.pick(userObject, ['_id', 'email', 'verified_email', 'username', 'userId', 'name', 'surname']);
|
||||
return _.pick(userObject, ['_id', 'email', 'verified_email', 'idapp', 'username', 'userId', 'name', 'surname', 'perm']);
|
||||
};
|
||||
|
||||
UserSchema.methods.generateAuthToken = function (req) {
|
||||
@@ -106,10 +113,10 @@ UserSchema.methods.generateAuthToken = function (req) {
|
||||
const useragent = req.get('User-Agent');
|
||||
tools.mylog("GENERATE USER-AGENT = ", useragent);
|
||||
|
||||
var access = 'auth';
|
||||
const access = 'auth';
|
||||
const browser = useragent;
|
||||
var token = jwt.sign({ _id: user._id.toHexString(), access }, process.env.SIGNCODE).toString();
|
||||
var date_login = new Date();
|
||||
const token = jwt.sign({ _id: user._id.toHexString(), access }, process.env.SIGNCODE).toString();
|
||||
const date_login = new Date();
|
||||
|
||||
// CANCELLA IL PRECEDENTE !
|
||||
user.tokens = user.tokens.filter(function (tok) {
|
||||
@@ -127,9 +134,30 @@ UserSchema.methods.generateAuthToken = function (req) {
|
||||
});
|
||||
};
|
||||
|
||||
UserSchema.statics.setPermissionsById = function (id, perm) {
|
||||
const user = this;
|
||||
|
||||
return user.findByIdAndUpdate(id, { $set: { perm } }).then((user) => {
|
||||
if (user)
|
||||
return res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
|
||||
else
|
||||
return res.send({ code: server_constants.RIS_CODE_ERR, msg: '' });
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.isAdmin = function (user) {
|
||||
try {
|
||||
const ris = ((user.perm & tools.Permissions.Admin) === 1);
|
||||
return ris;
|
||||
}catch (e) {
|
||||
return false
|
||||
}
|
||||
};
|
||||
|
||||
UserSchema.statics.findByToken = function (token, typeaccess) {
|
||||
var User = this;
|
||||
var decoded;
|
||||
const User = this;
|
||||
let decoded;
|
||||
|
||||
try {
|
||||
decoded = jwt.verify(token, process.env.SIGNCODE);
|
||||
@@ -160,14 +188,14 @@ UserSchema.statics.findByTokenAnyAccess = function (token) {
|
||||
});
|
||||
};
|
||||
|
||||
UserSchema.statics.findByCredentials = function (username, password) {
|
||||
UserSchema.statics.findByCredentials = function (idapp, username, password) {
|
||||
var User = this;
|
||||
var pwd = "";
|
||||
|
||||
return User.findOne({ username: username }).then((user) => {
|
||||
return User.findOne({ idapp, username: username }).then((user) => {
|
||||
if (!user) {
|
||||
// Check if with email:
|
||||
return User.findOne({ email: username })
|
||||
return User.findOne({ idapp, email: username })
|
||||
} else {
|
||||
return user
|
||||
}
|
||||
@@ -193,10 +221,11 @@ UserSchema.statics.findByCredentials = function (username, password) {
|
||||
};
|
||||
|
||||
|
||||
UserSchema.statics.findByUsername = function (username) {
|
||||
var User = this;
|
||||
UserSchema.statics.findByUsername = function (idapp, username) {
|
||||
const User = this;
|
||||
|
||||
return User.findOne({
|
||||
'idapp': idapp,
|
||||
'username': username,
|
||||
});
|
||||
};
|
||||
@@ -222,10 +251,11 @@ UserSchema.statics.findByLinkTokenforgot = function (idapp, email, tokenforgot)
|
||||
};
|
||||
|
||||
|
||||
UserSchema.statics.findByEmail = function (email) {
|
||||
UserSchema.statics.findByEmail = function (idapp, email) {
|
||||
var User = this;
|
||||
|
||||
return User.findOne({
|
||||
'idapp': idapp,
|
||||
'email': email,
|
||||
});
|
||||
};
|
||||
@@ -249,7 +279,7 @@ UserSchema.pre('save', function (next) {
|
||||
});
|
||||
|
||||
UserSchema.methods.removeToken = function (token) {
|
||||
var user = this;
|
||||
const user = this;
|
||||
|
||||
return user.update({
|
||||
$pull: {
|
||||
@@ -258,6 +288,13 @@ UserSchema.methods.removeToken = function (token) {
|
||||
});
|
||||
};
|
||||
|
||||
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 })
|
||||
|
||||
};
|
||||
|
||||
|
||||
var User = mongoose.model('User', UserSchema);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user