kaori 4 лет назад
Родитель
Сommit
6a32c0854f
1 измененных файлов с 14 добавлено и 17 удалено
  1. 14 17
      src/server/models/password-reset-order.js

+ 14 - 17
src/server/models/password-reset-order.js

@@ -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;
 };