import mongoose from 'mongoose'; import bcrypt from 'bcryptjs'; const userSchema = new mongoose.Schema({ email: { type: String, required: true, unique: true, }, password: { type: String, required: true }, name: String, role: { type: String, enum: ['user', 'admin'], default: 'user' }, createdAt: { type: Date, default: Date.now, } }); // Hash password before saving userSchema.pre('save', async function(next) { if (this.isModified('password')) { this.password = await bcrypt.hash(this.password, 12); } next(); }); export default mongoose.model('User', userSchema);