dss-server / src /models /SafetyBadge.js
yeshwanth-kr's picture
Upload 43 files
8c7b7ca verified
raw
history blame contribute delete
808 Bytes
const { mongoose, baseSchemaOptions } = require('./base');
const SafetyBadgeSchema = new mongoose.Schema({
employee_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Employee', required: true, unique: true },
induction_date: { type: Date, required: true },
expiry_date: { type: Date, required: true },
badge_no: { type: String, required: true, unique: true },
issued_by: { type: mongoose.Schema.Types.ObjectId, ref: 'User', default: null }
}, baseSchemaOptions());
SafetyBadgeSchema.pre('validate', function setExpiry(next) {
if (this.induction_date) {
const dt = new Date(this.induction_date);
dt.setDate(dt.getDate() + 365);
this.expiry_date = dt;
}
next();
});
SafetyBadgeSchema.index({ expiry_date: 1 });
module.exports = mongoose.model('SafetyBadge', SafetyBadgeSchema);