const { Schema, model } = require("mongoose"); const bcrypt = require("bcryptjs"); const userSchema = new Schema({ username: { type: String, reuired: true, unique: true, }, email: { type: String, required: true, unique: true, }, password: { type: String, required: true, }, phoneNumber: { type: String, }, isLogged: { type: Boolean, default: false, }, tags: { type: [String], default: [], }, }); userSchema.statics.checkUser = async function (email, password) { const foundUser = await this.findOne({ email: email }); let isValid = false; if (foundUser) { isValid = await bcrypt.compare(password, foundUser.password); } return isValid ? foundUser : false; }; const User = model("User", userSchema); module.exports = User;