hrms-shared
Version:
HRMS shared code: models, middleware, utils
55 lines (50 loc) • 1.35 kB
JavaScript
const mongoose = require("mongoose");
module.exports = (connection) => {
const { Schema } = mongoose;
const WorkScheduleSchema = new Schema({
companyId: {
type: Schema.Types.ObjectId,
ref: "Company",
required: true,
unique: true
},
scheduleName: {
type: String,
required: true
},
workingDays: {
type: [String],
default: ['Monday', 'Tuesday', 'Wednesday', 'Thrusday', 'Friday'],
},
saturdayWorkingPolicy: {
type: String,
enum: ['all', 'alternate', 'none'],
default: 'none'
},
alternateSaturdayPattern: {
type: [Number],
default: []
},
officeStartTime: {
type: String,
required: true
},
officeEndTime: {
type: String,
required: true,
},
requiredWorkingHours: {
type: Number,
required: true,
default: 9
},
requireGeofence: {
type: Boolean,
default: false
}
}, {
timestamps: true,
collection: "WorkSchedule"
});
return connection.models.WorkSchedule || connection.model("WorkSchedule", WorkScheduleSchema);
};