Sfoglia il codice sorgente

modify indices of username and email

Yuki Takei 8 anni fa
parent
commit
9afae8cb1d
1 ha cambiato i file con 12 aggiunte e 4 eliminazioni
  1. 12 4
      lib/models/user.js

+ 12 - 4
lib/models/user.js

@@ -31,8 +31,8 @@ module.exports = function(crowi) {
     isGravatarEnabled: { type: Boolean, default: false },
     googleId: String,
     name: { type: String },
-    username: { type: String, index: true },
-    email: { type: String, required: true, unique: true },
+    username: { type: String, required: true, unique: true },
+    email: { type: String, unique: true, sparse: true },
     introduction: { type: String },
     password: String,
     apiToken: String,
@@ -673,12 +673,20 @@ module.exports = function(crowi) {
     newUser.name = name;
     newUser.username = username;
     newUser.email = email;
-    newUser.setPassword(password);
-    newUser.lang = lang;
+    if (password != null) {
+      newUser.setPassword(password);
+    }
+    if (lang != null) {
+      newUser.lang = lang;
+    }
     newUser.createdAt = Date.now();
     newUser.status = decideUserStatusOnRegistration();
 
     newUser.save(function(err, userData) {
+      if (err) {
+        debug('createUserByEmailAndPassword failed: ', err);
+      }
+
       if (userData.status == STATUS_ACTIVE) {
         userEvent.emit('activated', userData);
       }