ADD: email, emailUnique, passwordChangedAt, passwordResetToken, and passwordResetExpires attributes

This commit is contained in:
MohammadHMazarei
2024-12-23 22:17:27 +03:30
parent 4542b46785
commit 9280c60cee
+17 -1
View File
@@ -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,