From 9280c60ceea93ff0c933b0d9bf47d5dbd01e4cf7 Mon Sep 17 00:00:00 2001 From: MohammadHMazarei Date: Mon, 23 Dec 2024 22:17:27 +0330 Subject: [PATCH] ADD: email, emailUnique, passwordChangedAt, passwordResetToken, and passwordResetExpires attributes --- components/user/userModel.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/components/user/userModel.js b/components/user/userModel.js index 2cb84f1..03de199 100644 --- a/components/user/userModel.js +++ b/components/user/userModel.js @@ -1,21 +1,37 @@ const mongoose = require('mongoose') const ObjectID = mongoose.Schema.Types.ObjectId +const validator = require('validator') const userSchema = new mongoose.Schema( { name: String, + email: { + type: String, + lowercase: true, + required: true, + validate: [validator.isEmail, 'Please provide a valid email'], + }, + emailUnique: { + type: String, + default: function () { + return this.email || `no-email-${this._id}` + }, + }, password: { type: String, required: true, trim: true, }, + passwordChangedAt: Date, + passwordResetToken: String, + passwordResetExpires: Date, isActive: { type: Boolean, default: true, }, role: { type: ObjectID, - ref: 'Role' + ref: 'Role', }, isAdmin: { type: Boolean,