UNPKG

hrms-shared

Version:

HRMS shared code: models, middleware, utils

48 lines (44 loc) 1.14 kB
const mongoose = require("mongoose"); module.exports = (connection) => { const { Schema } = mongoose; const sessionSchema = new Schema({ checkIn: { type: Date, required: true, }, checkOut: { type: Date } }) const attendanceSchema = new Schema({ userId: { type: Schema.Types.ObjectId, ref: "User", required: true }, date: { type: Date, required: true }, sessions: { type: [sessionSchema], default: [] }, workedHours: { type: Number }, status: { type: String, enum: ['Present', 'Absent', 'Late', 'Half-day', 'Leave'], default: "Absent" }, remarks: { type: String } }, { timestamps: true, collection: "Attendance" }); attendanceSchema.index({ employeeId: 1, date: 1 }, { unique: true }); return connection.models.Attendance || connection.model("Attendance", attendanceSchema); }