File size: 975 Bytes
8c7b7ca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const { mongoose, baseSchemaOptions } = require('./base');

const DocumentSchema = new mongoose.Schema({
  employee_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Employee', required: true },
  type: { type: String, enum: ['Aadhar', 'UAN', 'ESI', 'Compensation_Policy', 'PVC'], required: true },
  file_path: { type: String, required: true },
  pvc_validity_date: { type: Date, default: null },
  verified_by_hr: { type: Boolean, default: false },
  verified_at: { type: Date, default: null },
  hr_status: { type: String, enum: ['Pending', 'Approved', 'Rejected'], default: 'Pending' },
  hr_remarks: { type: String, default: null },
  reviewed_at: { type: Date, default: null },
  reviewed_by: { type: mongoose.Schema.Types.ObjectId, ref: 'User', default: null },
  uploaded_at: { type: Date, default: Date.now }
}, baseSchemaOptions());

DocumentSchema.index({ employee_id: 1, type: 1 }, { unique: true });

module.exports = mongoose.model('Document', DocumentSchema);