dss-server / src /models /User.js
yeshwanth-kr's picture
Upload 43 files
8c7b7ca verified
raw
history blame contribute delete
795 Bytes
const { mongoose, baseSchemaOptions } = require('./base');
const UserSchema = new mongoose.Schema({
full_name: { type: String, required: true, trim: true },
email: { type: String, required: true, trim: true, lowercase: true },
password_hash: { type: String, required: true },
role: { type: String, enum: ['Admin', 'HR', 'Safety_Officer', 'Vendor'], required: true },
vendor_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Vendor', default: null },
phone: { type: String, default: null },
must_reset_password: { type: Boolean, default: false },
password_changed_at: { type: Date, default: Date.now },
is_active: { type: Boolean, default: true }
}, baseSchemaOptions());
UserSchema.index({ email: 1 }, { unique: true });
module.exports = mongoose.model('User', UserSchema);