2016-07-12 15 views
1

Ich versuche schreiben Benutzerfunktion erstellen. Ich habe einen solchen CodeSequelize. Wie verwende ich einen anderen Wert von Parametern bei der Erstellung

createUser: function (user) { 
     return db.User.create({ 
      id: user.id, 
      username: user.username, 
      password: sha1(user.password), 
      first_name: user.first_name, 
      last_name: user.last_name, 
      email: user.email, 
      allow_password: user.allow_password 
     }); 
    } 

aber es ist nur korrekt, wenn ich alle Felder des Benutzers ausfüllen. Eigentlich brauche ich nur Benutzername und E-Mail, aber wenn ich nur 2 Parameter setze - habe ich 500 Serverfehler bekommen. Wie kann ich andere Zeilen implizit machen?

+0

Ich glaube, ich jede Zeile überprüfen, wie diese 'if (! User.last_name) {user.last_name = null; } Aber es ist keine gute Wahl, denke ich. –

Antwort

0

Die Antwort: Sie haben das Kennwort zu konvertieren, bevor die Abfrage

createUser: function (user) { 
     if(user.password) { 
      user.password = sha1(user.password); 
     } 
     return db.User.create({ 
      id: user.id, 
      username: user.username, 
      password: user.password, 
      first_name: user.first_name, 
      last_name: user.last_name, 
      email: user.email, 
      allow_password: user.allow_password 
     }); 
    }