44 lines
1005 B
JavaScript
44 lines
1005 B
JavaScript
|
|
import mongoose from 'mongoose';
|
|
import validator from 'validator';
|
|
|
|
const userSchema = new mongoose.Schema({
|
|
name: {
|
|
type: String,
|
|
required: [true, 'Please tell us your name!']
|
|
},
|
|
email: {
|
|
type: String,
|
|
required: [true, 'Please provide your email'],
|
|
unique: true,
|
|
lowercase: true,
|
|
validate: [validator.isEmail, 'Please provide a valid email']
|
|
},
|
|
role: {
|
|
type: String,
|
|
enum: ['user', 'admin'],
|
|
default: 'user'
|
|
}
|
|
});
|
|
|
|
const User = mongoose.model('User', userSchema);
|
|
|
|
export default User;
|
|
|
|
// password: {
|
|
// type: String,
|
|
// required: [true, 'Please provide a password'],
|
|
// minlength: 8,
|
|
// select: false
|
|
// },
|
|
// passwordConfirm: {
|
|
// type: String,
|
|
// required: [true, 'Please confirm your password'],
|
|
// validate: {
|
|
// // This only works on CREATE and SAVE!!!
|
|
// validator: function(el) {
|
|
// return el === this.password;
|
|
// },
|
|
// message: 'Passwords are not the same!'
|
|
// }
|
|
// }
|