25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

45 satır
817 B

  1. const { Schema, model } = require("mongoose");
  2. const bcrypt = require("bcryptjs");
  3. const userSchema = new Schema({
  4. username: {
  5. type: String,
  6. reuired: true,
  7. unique: true,
  8. },
  9. email: {
  10. type: String,
  11. required: true,
  12. unique: true,
  13. },
  14. password: {
  15. type: String,
  16. required: true,
  17. },
  18. phoneNumber: {
  19. type: String,
  20. },
  21. isLogged: {
  22. type: Boolean,
  23. default: false,
  24. },
  25. tags: {
  26. type: [String],
  27. default: [],
  28. },
  29. });
  30. userSchema.statics.checkUser = async function (email, password) {
  31. const foundUser = await this.findOne({ email: email });
  32. let isValid = false;
  33. if (foundUser) {
  34. isValid = await bcrypt.compare(password, foundUser.password);
  35. }
  36. return isValid ? foundUser : false;
  37. };
  38. const User = model("User", userSchema);
  39. module.exports = User;