|
|
@@ -3,34 +3,31 @@ const uniqueValidator = require('mongoose-unique-validator');
|
|
|
|
|
|
const ObjectId = mongoose.Schema.Types.ObjectId;
|
|
|
|
|
|
-/*
|
|
|
- * define schema
|
|
|
- */
|
|
|
-const passwordResetOrderSchema = new mongoose.Schema({
|
|
|
+const schema = new mongoose.Schema({
|
|
|
token: { type: String, required: true, unique: true },
|
|
|
email: { type: String, required: true },
|
|
|
relatedUser: { type: ObjectId, ref: 'User' },
|
|
|
});
|
|
|
-passwordResetOrderSchema.plugin(uniqueValidator);
|
|
|
+schema.plugin(uniqueValidator);
|
|
|
|
|
|
-/**
|
|
|
- * PasswordResetOrder Class
|
|
|
- *
|
|
|
- * @class PasswordResetOrder
|
|
|
- */
|
|
|
+class PasswordResetOrder {
|
|
|
|
|
|
-module.exports = function(crowi) {
|
|
|
-
|
|
|
- passwordResetOrderSchema.statics.generateOneTimeToken = function() {
|
|
|
+ static generateOneTimeToken() {
|
|
|
// TODO: generate unique token by GW-6802
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
- passwordResetOrderSchema.methods.isExpired = function() {
|
|
|
+ static isExpired() {
|
|
|
const now = Date.now();
|
|
|
const expiredAt = this.createdAt.getTime() + 600000;
|
|
|
|
|
|
return expiredAt < now;
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
- return mongoose.model('PasswordResetOrder', passwordResetOrderSchema);
|
|
|
+}
|
|
|
+
|
|
|
+module.exports = function(crowi) {
|
|
|
+ PasswordResetOrder.crowi = crowi;
|
|
|
+ schema.loadClass(PasswordResetOrder);
|
|
|
+ const model = mongoose.model('PasswordResetOrder', schema);
|
|
|
+ return model;
|
|
|
};
|