|
@@ -8,6 +8,7 @@ const schema = new mongoose.Schema({
|
|
|
token: { type: String, required: true, unique: true },
|
|
token: { type: String, required: true, unique: true },
|
|
|
email: { type: String, required: true },
|
|
email: { type: String, required: true },
|
|
|
relatedUser: { type: ObjectId, ref: 'User' },
|
|
relatedUser: { type: ObjectId, ref: 'User' },
|
|
|
|
|
+ isRevoked: { type: Boolean, default: false, required: true },
|
|
|
createdAt: { type: Date, default: Date.now, required: true },
|
|
createdAt: { type: Date, default: Date.now, required: true },
|
|
|
expiredAt: { type: Date, default: Date.now() + 600000, required: true },
|
|
expiredAt: { type: Date, default: Date.now() + 600000, required: true },
|
|
|
});
|
|
});
|
|
@@ -41,6 +42,11 @@ class PasswordResetOrder {
|
|
|
return this.expiredAt.getTime() < Date.now();
|
|
return this.expiredAt.getTime() < Date.now();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ async revokeOneTimeToken() {
|
|
|
|
|
+ this.isRevoked = true;
|
|
|
|
|
+ return this.save();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
module.exports = function(crowi) {
|
|
module.exports = function(crowi) {
|