Togliere "in attesa di abilitazione"
Registrazione rapida (senza dover confermare, un link che scade dopo 48 ore.
This commit is contained in:
@@ -136,6 +136,12 @@ const UserSchema = new mongoose.Schema({
|
||||
tokenforgot: {
|
||||
type: String,
|
||||
},
|
||||
date_tokenreg: {
|
||||
type: Date,
|
||||
},
|
||||
tokenreg: {
|
||||
type: String,
|
||||
},
|
||||
lasttimeonline: {
|
||||
type: Date,
|
||||
},
|
||||
@@ -733,6 +739,8 @@ UserSchema.statics.getProjectUser = function() {
|
||||
email: 1,
|
||||
date_reg: 1,
|
||||
img: 1,
|
||||
tokenreg: 1,
|
||||
date_tokenreg: 1,
|
||||
};
|
||||
|
||||
};
|
||||
@@ -1204,6 +1212,57 @@ UserSchema.statics.createNewRequestPwdByUsernameAndGetLink = async function(idap
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.getifRegTokenIsValid = async function(idapp, tokenreg) {
|
||||
const User = this;
|
||||
|
||||
let regexp = new RegExp(`^${tokenreg}$`, 'i');
|
||||
|
||||
const user = await User.findOne({
|
||||
idapp,
|
||||
tokenreg: {$regex: regexp}
|
||||
});
|
||||
if (user && user.date_tokenreg) {
|
||||
return user.date_tokenreg > (new Date().getTime());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
UserSchema.statics.createNewReqRegistrationGetLink = async function(idapp, username) {
|
||||
const User = this;
|
||||
|
||||
const user = await User.findOne({
|
||||
idapp,
|
||||
username,
|
||||
$or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}],
|
||||
});
|
||||
|
||||
if (user) {
|
||||
if (!user.date_tokenreg || (user.tokenreg && (user.date_tokenreg < new Date().getTime()))) {
|
||||
// Se è scaduto, ne crea uno nuovo
|
||||
// Creo il tokenforgot
|
||||
user.tokenreg = jwt.sign(user._id.toHexString(), process.env.SIGNCODE).
|
||||
toString();
|
||||
|
||||
user.tokenreg = user.tokenreg.replaceAll('.', '');
|
||||
user.tokenreg = user.tokenreg.replaceAll('/', '');
|
||||
user.tokenreg = user.tokenreg.substring(1,8);
|
||||
|
||||
user.date_tokenreg = tools.AddDate(new Date(), 2);
|
||||
|
||||
return await user.save().then(() => {
|
||||
return user.tokenreg;
|
||||
});
|
||||
|
||||
} else {
|
||||
return user.tokenreg;
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
|
||||
};
|
||||
|
||||
UserSchema.statics.findByEmail = function(idapp, email, onlyifVerifiedByAportador) {
|
||||
const User = this;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user