44 lines
854 B
JavaScript
44 lines
854 B
JavaScript
import mongoose from 'mongoose';
|
|
|
|
// Define leave record schema
|
|
const leaveRecordSchema = new mongoose.Schema({
|
|
date: {
|
|
type: Date,
|
|
required: true,
|
|
},
|
|
time: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
location: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
reason: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
leaveType: {
|
|
type: String,
|
|
required: true,
|
|
enum: ['Sick Leave', 'Casual Leave'],
|
|
},
|
|
});
|
|
|
|
// Define main leave schema
|
|
const leaveSchema = new mongoose.Schema({
|
|
userId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
refPath: 'userType',
|
|
required: true,
|
|
},
|
|
userType: {
|
|
type: String,
|
|
required: true,
|
|
enum: ['SalesCoOrdinator', 'TerritoryManager'],
|
|
},
|
|
records: [leaveRecordSchema],
|
|
}, { timestamps: true, versionKey: false });
|
|
|
|
export const Leave = mongoose.model('Leave', leaveSchema);
|