cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
38 lines (37 loc) • 2.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CAttendanceRecord = void 0;
var mongoose_1 = require("mongoose");
var attendance_record = new mongoose_1.Schema({
atnr_date: { type: Date, required: true },
atnr_user_id_auth: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", required: true },
atnr_entity_id_syen: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_system_entity", required: true },
atnr_status_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true },
atnr_attendee_type: { type: String, enum: ["STUDENT", "TEACHER", "STAFF", "ALL"], required: true },
atnr_section_id_acapts: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_prg_trm_section", default: null },
atnr_academic_year_id_acayr: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_academic_year", default: null },
atnr_period_index: { type: Number, default: null },
atnr_department_id: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_department", default: null },
atnr_location_id: { type: String, trim: true, default: null },
atnr_source: { type: String, enum: ["manual", "electronic"], default: "manual" },
atnr_device_id: { type: String, trim: true, default: null },
atnr_punch_in: { type: Date, default: null },
atnr_punch_out: { type: Date, default: null },
atnr_remark: { type: String, trim: true, maxlength: 500, default: null },
atnr_marked_by_user: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", default: null },
atnr_isactive: { type: Boolean, default: true }
}, { collection: "attendance_record", timestamps: { createdAt: "atnr_created_at", updatedAt: "atnr_updated_at" } });
attendance_record.index({ atnr_entity_id_syen: 1, atnr_date: 1 });
attendance_record.index({ atnr_entity_id_syen: 1, atnr_academic_year_id_acayr: 1, atnr_section_id_acapts: 1, atnr_date: 1 });
attendance_record.index({ atnr_user_id_auth: 1, atnr_date: 1 });
attendance_record.index({ atnr_source: 1, atnr_device_id: 1 });
attendance_record.index({
atnr_date: 1,
atnr_user_id_auth: 1,
atnr_entity_id_syen: 1,
atnr_section_id_acapts: 1,
atnr_academic_year_id_acayr: 1,
atnr_period_index: 1
}, { unique: true });
var CAttendanceRecord = mongoose_1.default.model("attendance_record", attendance_record);
exports.CAttendanceRecord = CAttendanceRecord;